The Current PBPath Journal Watch Articles


Wellcome to the PBPath Journal Watch!

This bi-monthly journal watch features exciting recently published pancreas and biliary pathology articles that will provide up to date medical knowledge in our field. These articles will be showcased in several convenient categories, including surgical pathology, molecular pathology and cytopathology among others. The articles in each category are in no particular order.

Previous months’ issues may be found in our archive.

We encourage members to actively participate by recommending new articles and providing feedback using the forms provided.

We hope that you will enjoy the new PBPath Journal Watch!


Surgical Pathology


Pancreas

Morphology, Diagnostics, IHC

Morphology, Diagnostics, IHC


  • Pancreatic cancer arising in the remnant pancreas is not always a relapse of the preceding primary

https://www.nature.com/articles/s41379-018-0183-7

https://www.ncbi.nlm.nih.gov/pubmed/30467323


- Epidermoid cyst in intrapancreatic accessory spleen: A systematic review

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30366677

BACKGROUND/OBJECTIVES: Due to its rarity, epidermoid cyst in intrapancreatic accessory spleen (ECIPAS) is still a diagnostic dilemma during clinical practice. The aim of this review was to summarize the epidemiologic features and management of ECIPAS. METHODS: MEDLINE and EMBASE were searched for English articles reporting on ECIPAS up to April 30th, 2018 following the methodology suggested by the PRISMA guidelines. Categorical variables were reported as frequency and percentage. Continuous variables were reported as median (range). RESULTS: A total of 56 patients from 47 full articles were included for the final data synthesis. More than half of the ECIPASs (59%) were found incidentally. The female/male ratio was 1.33. ECIPAS is typically a single mono-/multi-lobular cystic lesions in the pancreatic tail with thickened cystic wall or various amount of solid component which had identical density/signal to the spleen on imaging examinations. The cyst is filled with serous or non-serous fluid. Recognition of the surrounding ectopic splenic tissue is the key point to diagnose ECIPAS. However, no preoperative examination was able to make a definite diagnosis. Almost all the patients (96%) received surgical treatment, due to the suspicion of pancreatic malignant or potentially malignant cystic tumor, especially mucinous cystic neoplasm (MCN). CONCLUSIONS: Although seldom encountered, ECIPAS should be considered as a differential diagnosis for pancreatic cystic lesions, especially when solid component was detected. As a benign disease, unnecessary surgery should be avoided. Because it is difficult to make a definite diagnosis preoperatively by one single examination, multiple modalities may be required.


- Mesenchymal-epithelial transition of pancreatic cancer cells at perineural invasion sites is induced by Schwann cells

Pathology international 2018 Apr;68(4):214-223

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29457853

Epithelial-mesenchymal transition (EMT) promotes invasion and metastasis of pancreatic ductal adenocarcinoma (PDAC). However, the importance of its reverse process, mesenchymal-epithelial transition (MET), for PDAC remains unclear. We aimed to characterize the histological finding “focal differentiation” in PDAC at perineural invasion sites in the context of MET and to investigate the role of Schwann cells in inducing tumor MET. Tumor differentiation and immunohistochemical expressions of E-cadherin, SMAD3, and vimentin at perineural invasion sites were examined in 168 PDAC tissues. Four PDAC cell lines were co-cultured with Schwann cells to investigate cell morphology, motility, or EMT-related markers using immunocytochemistry and quantitative PCR. Of 168 tumors, 124 (74%) showed focal differentiation with enhanced E-cadherin membrane expression (P < 0.001) and decreased nuclear accumulation of SMAD3 (P < 0.001). Among 115 PDACs harboring grade 1/2 tumor, tumors with focal differentiation showed worse survival compared to those without focal differentiation (P = 0.019). PDAC cells co-cultured with Schwann cells demonstrated a sheet-like appearance, increased E-cadherin expression, decreased expressions of SMAD3 and vimentin, and reduced cell motility. In conclusion, MET-like change is induced by Schwann cells, suggesting that Schwann cells contribute to PDAC colonization in pancreatic nerves through activating the MET machinery inside tumor cells in the pancreatic tumor microenvironment.


- Pancreatic extragastrointestinal stromal tumor invading the duodenum

Turkish journal of surgery 2018 ;34(3):231-233

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30302427

Extragastrointestinal stromal tumors that arise in the pancreas are extremely rare and managing them can be difficult, particularly if located in the head of pancreas. This case report aims to contribute to the existing data in the literature regarding extragastrointestinal stromal tumors with rare and unusual locations. We present a 56-year-old man who presented with recurrent mild right upper quadrant abdominal pain. Abdominal computed tomography and magnetic resonance imaging revealed a mass lesion with a diameter of 10 cm localized in the head of pancreas. Pancreaticoduodenectomy with complete tumor excision was performed. He was discharged on the postoperative day 14. Only 15 extragastrointestinal stromal tumors cases have been reported. Of these 15 cases, tumors were located in the head of pancreas in six cases. Here we report the seventh case of pancreatic extragastrointestinal stromal tumor arising in the head of pancreas and also the largest of these seven tumors.


- ASO Author Reflections: Tumor-Infiltrating Platelets Predict Postsurgical Survival in Patients with Pancreatic Ductal Adenocarcinoma

Annals of surgical oncology 2018 Dec;25(13):3994-3995

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30315385


- Tumor-Infiltrating NETs Predict Postsurgical Survival in Patients with Pancreatic Ductal Adenocarcinoma

Annals of surgical oncology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30374923

BACKGROUND: Tumor-infiltrating neutrophils (TINs) indicate poor prognosis for patients with pancreatic ductal adenocarcinoma (PDAC). Activated neutrophils can generate neutrophil extracellular traps (NETs). Little is known about the presence and prognostic significance of tumor-infiltrating NETs in PDAC. METHODS: This study enrolled 317 patients, in two independent sets (training and validation), who underwent curative pancreatectomy for PDAC in Shanghai Cancer Center. TINs and NETs were identified by immunohistochemical staining for CD15 and citrullinated histone H3, respectively. The relationship between clinicopathological features and outcomes was analyzed. Accuracy of prognostic prediction models was evaluated using concordance index (C-index) and Akaike information criterion (AIC). RESULTS: NETs were associated with OS (both, P < 0.001) and RFS (both, P < 0.001) in the training and validation sets. Tumor-infiltrating NETs predicted poor postsurgical survival of patients with PDAC. Moreover, multivariate analysis identified NETs and AJCC TNM stage as two independent prognostic factors for OS and RFS. Combination of NETs with the 8th edition TNM staging system (C-index, 0.6994 and 0.6669, respectively; AIC, 1067 and 1126, respectively) generated a novel model that improved the predictive accuracy for survival in both sets (C-index, 0.7254 and 0.7117, respectively; AIC, 1047 and 1102, respectively). The model combining presence of NETs with the 7th edition AJCC TNM staging system also had improved predictive accuracy. CONCLUSIONS: NETs were an independent prognostic factor in PDAC and incorporation of NETs along with the standard TNM stating system refined risk-stratification and predicted survival in PDAC with improved accuracy.


- The expression of death receptor systems TRAIL-R1/-R2/-R4, CD95 and TNF-R1 and their cognate ligands in pancreatic ductal adenocarcinoma

Histology and histopathology 2018 Oct;():18054

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30375637

The expression of five members of the TNF receptor superfamily and two of their ligands in human pancreatic ductal adenocarcinoma were investigated in parallel by immunohistochemistry. 41 patients with histologically confirmed ductal carcinoma of the pancreas were enrolled in this study in order (i) to compare the individual TNFR-SF expression and their ligands in PDAC-cells and (ii) to investigate their correlation with survival data. All patients had undergone pancreaticoduodenectomy and were staged as pT3N1M0. Immunostaining was done on FFPE tissue sections of the tumor tissue, using antibodies directed against TRAIL-Receptor-1, -2 and -4, TRAIL, CD95, TNF-Receptor-1 and TNF-α. The intensity and quantity of immunostaining were evaluated separately for tumor cell cytoplasm and tumor cell nucleus. Immunostaining results were correlated with each other and with patient survival. All proteins were found to be expressed in the majority of the tumor cells. The expression (i) of the following members of TNFR-SF and their ligands correlated with each other: TNF-Receptor-1 and TNFα (cytoplasmatic scores, p=0.001), TNF-Receptor 1 and TRAIL (nuclear antigen expression p=0.005 and the main score p=0.001, which contains the overall intracellular antigen expression), TNF-Receptor 1 and CD95 (main score, p=0.001), TRAIL-Receptor-1 and TRAIL-Receptor-2 (nuclear parameters, p=0.023), TRAIL-Receptor-4 and TRAIL (main score p=0.041). In addition (ii), high cytoplasmatic expression of TNF-Receptor-1 and a strong cytoplasmatic and nuclear expression of CD95 correlated significantly with a better prognosis of the PDAC patients.


- Direct therapeutic targeting of immune checkpoint PD-1 in pancreatic cancer

British journal of cancer 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30377341

BACKGROUND: Pancreatic cancer (PC) hijacks innate cellular processes to promote cancer growth. We hypothesized that PC exploits PD-1/PD-L1 not only to avoid immune responses, but to directly enhance growth. We also hypothesized that immune checkpoint inhibitors (ICIs) have direct cytotoxicity in PC. We sought to elucidate therapeutic targeting of PD-1/PD-L1. METHODS: PD-1 was assessed in PC cells, patient-derived organoids (PDOs), and clinical tissues. Then, PC cells were exposed to PD-L1 to evaluate proliferation. To test PD-1/PD-L1 signaling, cells were exposed to PD-L1 and MAPK was examined. Radio-immunoconjugates with anti-PD-1 drugs were developed to test uptake in patient-derived tumor xenografts (PDTXs). Next, PD-1 function was assessed by xenografting PD-1-knockdown cells. Finally, PC models were exposed to ICIs. RESULTS: PD-1 expression was demonstrated in PCs. PD-L1 exposure increased proliferation and activated MAPK. Imaging PDTXs revealed uptake of radio-immunoconjugates. PD-1 knockdown in vivo revealed 67% smaller volumes than controls. Finally, ICI treatment of both PDOs/PDTXs demonstrated cytotoxicity and anti-MEK1/2 combined with anti-PD-1 drugs produced highest cytotoxicity in PDOs/PDTXs. CONCLUSIONS: Our data reveal PCs innately express PD-1 and activate druggable oncogenic pathways supporting PDAC growth. Strategies directly targeting PC with novel ICI regimens may work with adaptive immune responses for optimal cytotoxicity.


  • Incidence and risk factors for abdominal occult metastatic disease in patients with pancreatic adenocarcinoma

https://onlinelibrary.wiley.com/doi/abs/10.1002/jso.25288


  • Integrated whole genome microarray analysis and immunohistochemical assay identifies COL11A1, GJB2 and CTRL as predictive biomarkers for pancreatic cancer

https://cancerci.biomedcentral.com/articles/10.1186/s12935-018-0669-x


  • High nuclear Survivin expression as a poor prognostic marker in pancreatic ductal adenocarcinoma

https://onlinelibrary.wiley.com/doi/10.1002/jso.25253


  • Silencing of MUC20 suppresses the malignant character of pancreatic ductal adenocarcinoma cells through inhibition of the HGF/MET pathway

https://www.nature.com/articles/s41388-018-0403-0


  • Epidermoid cyst in intrapancreatic accessory spleen: A systematic review

https://www.sciencedirect.com/science/article/pii/S1424390318307026


  • Residual Tumor Index: A Prognostically Significant Pathologic Parameter in Neoadjuvant-treated Pancreatic Ductal Adenocarcinoma

https://journals.lww.com/ajsp/Abstract/2018/11000/Residual_Tumor_Index__A_Prognostically_Significant.7.aspx


30323973

29757145

30308608

30311163

30324467

30353057

30286473

30286472

30298312

29853732

29242097

29611542

29495889

30300611

30098910

30324470

30269131

30297095

30339622

30266763

30296435

30315093

30342032

30343272

29928898

30352906

29395269

29395271

30277653

29198177

30298331

30307473

30278585

30315778

29521943

30126408

30334361

30334579

30288652

29751883

30301635

29450978

30349952

30285068

29391332

28958638

30315386

30269771

30303155

30327972

30282083

30284410

30302639

30308537

30302430

30300897

30339629

30306370

30315383

30353397

30268674

30284406

30301772

30308535

30290028

30303569

30353700

30293872

30316690

30361898

29731265


  • Overexpression of folate receptor alpha is an independent prognostic factor for outcomes of pancreatic cancer patients

https://link.springer.com/article/10.1007/s00795-018-0197-8


  • Solitary pancreatic metastasis of extremity myxoid liposarcoma: a case report and literature review

https://bmccancer.biomedcentral.com/articles/10.1186/s12885-018-5059-1


  • Pancreatic Cysts Sinister Findings or Incidentalomas?

https://www.medical.theclinics.com/article/S0025-7125(18)30095-6/fulltext


Back to top


Staging

Pancreas TNM staging, Margins, Survival


- ASO Author Reflections: Even in Pancreatic Cancer, not all N Diseases are Created Equal

Annals of surgical oncology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30284129


- International Validation of the Eighth Edition of the American Joint Committee on Cancer (AJCC) TNM Staging System in Patients With Resected Pancreatic Cancer

JAMA surgery 2018 Oct;():e183617

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30285076

Importance: The recently released eighth edition of the American Joint Committee on Cancer TNM staging system for pancreatic cancer seeks to improve prognostic accuracy but lacks international validation. Objective: To validate the eighth edition of the American Joint Committee on Cancer TNM staging system in an international cohort of patients with resected pancreatic ductal adenocarcinoma. Design, Setting, and Participants: This international multicenter cohort study took place in 5 tertiary centers in Europe and the United States from 2000 to 2015. Patients who underwent pancreatoduodenectomy for nonmetastatic pancreatic ductal adenocarcinoma were eligible. Data analysis took place from December 2017 to April 2018. Exposures: Patients were retrospectively staged according to the seventh and eighth editions of the TNM staging system. Main Outcomes and Measures: Prognostic accuracy on survival rates, assessed by Kaplan-Meier and multivariate Cox proportional hazards analyses and concordance statistics. Results: A total of 1525 consecutive patients were included (median [IQR] age, 66 (58-72) years; 802 (52.6%) male). Distribution among stages via the seventh edition was stage IA in 41 patients (2.7%), stage IB in 42 (2.8%), stage IIA in 200 (13.1%), stage IIB in 1229 (80.6%), and stage III in 12 (0.8%); this changed with use of the eighth edition to stage IA in 118 patients (7.7%), stage IB in 144 (9.4%), stage IIA in 22 (1.4%), stage IIB in 643 (42.2%), and stage III in 598 (39.2%). With the eighth edition, 774 patients (50.8%) migrated to a different stage; 183 (12.0%) were reclassified to a lower stage and 591 (38.8%) to a higher stage. Median overall survival for the entire cohort was 24.4 months (95% CI, 23.4-26.2 months). On Kaplan-Meier analysis, 5-year survival rates changed from 38.2% for patients in stage IA, 34.7% in IB, 35.3% in IIA, 16.5% in IIB, and 0% in stage III (log-rank P < .001) via classification with the seventh edition to 39.2% for patients in stage IA, 33.9% in IB, 27.6% in IIA, 21.0% in IIB, and 10.8% in stage III (log-rank P < .001) with the eighth edition. For patients who were node negative, the T stage was not associated with prognostication of survival in either edition. In the eighth edition, the N stage was associated with 5-year survival rates of 35.6% in N0, 20.8% in N1, and 10.9% in N2 (log-rank P < .001). The C statistic improved from 0.55 (95% CI, 0.53-0.57) for the seventh edition to 0.57 (95% CI, 0.55-0.60) for the eighth edition. Conclusions and Relevance: The eighth edition of the TNM staging system demonstrated a more equal distribution among stages and a modestly increased prognostic accuracy in patients with resected pancreatic ductal adenocarcinoma compared with the seventh edition. The revised T stage remains poorly associated with survival, whereas the revised N stage is highly prognostic.


- A Refined Staging Model for Resectable Pancreatic Ductal Adenocarcinoma Incorporating Examined Lymph Nodes, Location of Tumor and Positive Lymph Nodes Ratio

Journal of Cancer 2018 ;9(19):3507-3514

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30310507

Background: Nodal status and tumor site are prognostic factors for resectable pancreatic ductal adenocarcinoma (PDAC). Parameters for nodal status are diverse, and the number of examined lymph nodes (eNs) needed for good prognosis are uncertain. We try to modify staging system of resectable PDAC with parameters mentioned above by recursive partitioning analysis. Methods: Patients from the Surveillance, Epidemiology, and End Results (SEER) database were divided into training cohort and internal validation cohort, randomly. PDAC patients from Sun Yat-sen University Cancer Center were regarded as external validation cohort. The training cohort was used to refine staging model by recursive partitioning analysis, while the internal validation cohort and the external validation cohort were applied to assess discriminatory capacity of staging model. For parameters included in the modified model, their effects were studied. Results: The number of eNs, tumor site and tumor size were risk factors for positive nodal status. Lymph nodes ratio (LNR), tumor site, eNs and T stages of 8th the American Joint Committee on Cancer (AJCC) were selected to develop a refined model, dividing patients into 5 groups of different outcomes, preceding 8th AJCC classification. Besides, we found that (1) for small PDAC (diameter < 1cm), lymph node metastasis was rarely found; (2) enough eNs were needed to ensure better prognosis of node-negative patients; (3) tumors in the head of pancreas were prone to lymph nodes metastasis; (4) for node-positive patients, LNR was a better nodal parameter compared to positive lymph nodes (pNs). Conclusion: Our improved staging system helps to illuminate the interactions among tumor site, size and eNs.


- Evaluation of the prognostic value of the new AJCC 8th edition staging system for patients with pancreatic adenocarcinoma; a need to subclassify stage III?

European journal of cancer (Oxford, England : 1990) 2018 Nov;104():62-69

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30326370

BACKGROUND: There have been several proposed changes for the 8th edition of the American Joint Commission on Cancer (AJCC) for pancreatic adenocarcinoma. The aim of this study was to evaluate the prognostic value of the new staging system for patients with pancreatic adenocarcinoma, especially in stage III patients. METHODS: We analysed the data of patients newly diagnosed with pancreatic adenocarcinoma between 2008 and 2016 at our hospital. Patients were staged according to 7th edition AJCC criteria, as well as the new 8th edition staging system. The pathologic stage was used in the surgical cases, and the clinical stage, determined by radiographic findings, was used in the unresectable cases. RESULTS: Five hundred two patients were identified who met the inclusion criteria. In node-negative patients, there were no significant differences in survival among T 1, 2 and 3 groups according to the 8th edition. The survival rates of patients with N1 (1-3 positive nodes) and N2 (≥4 positive nodes) disease, according to 8th edition, were significantly different (p < 0.001). Although N2 and T4 patients are both stage III according to the new staging system, N2 patients had a better survival rate than T4 patients (p = 0.038). The new staging system stratifies patients more evenly across stages without sacrificing the prognostic accuracy. CONCLUSIONS: The AJCC 8th edition has some advantages over the previous version. However, patients with N2 and T4, who have been integrated into stage III, showed different treatment modalities and prognoses, and we proposed dividing stage III into IIIA (T1-3N2M0) and IIIB (T4NanyM0).


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


- Intra-Operative Frozen Section Histology of the Pancreatic Resection Margins and Clinical Outcome of Patients with Adenocarcinoma of the Head of the Pancreas Undergoing Pancreaticoduodenectomy

Medical science monitor : international medical journal of experimental and clinical research 2018 Jul;24():4905-4913

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30007990

BACKGROUND The aim of this study was to compare the clinical outcome in patients with pancreatic ductal adenocarcinoma who underwent frozen section and paraffin section histology of the surgical resection margins during pancreaticoduodenectomy. MATERIAL AND METHODS Frozen section and routine paraffin section histopathology were performed using the following categories: R0 (no tumor cells at the surgical resection margin), R1 (tumor cells at, or within 1 mm, of the surgical resection margin), and R2 (tumor seen macroscopically at the surgical resection margin). R1 and R2 patients underwent additional resection to achieve R0. RESULTS Of 346 patients who underwent pancreaticoduodenectomy, frozen section histology showed positive resection margins in 22 patients (9.2%) and paraffin section histology was positive in 20 patients (8.4%). The OS was nine months in frozen section-positive patients and 20 months in frozen section-negative patients (p=0.001). The OS rates were significantly different between the paraffin section-positive and paraffin section-negative patients (11 months vs. 21 months) (p=0.001). Univariate and multivariate analysis showed that increased tumor size, high tumor grade, lymph node metastases, a positive superior mesenteric artery and retroperitoneal margin, and a positive resection margin on frozen section were significantly correlated with reduced OS (p<0.05). Twenty-two patients with positive resection margins on frozen section histology underwent further resection; R0 was achieved in 14 patients, with no significant difference in OS. CONCLUSIONS For patients who underwent pancreaticoduodenectomy for pancreatic carcinoma with positive resection margins on frozen section, further surgical resection to achieve R0 had no significant positive impact on OS.


- Adolescent overweight and obesity and the risk for pancreatic cancer among men and women: a nationwide study of 1.79 million Israeli adolescents

Cancer 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30417331

BACKGROUND: There is growing concern regarding the impact of adolescent obesity on adult health. The objective of this study was to evaluate the association between body mass index (BMI) in late adolescence and the incidence of pancreatic cancer during adulthood. METHODS: The authors analyzed a cohort of 1087,358 Israeli Jewish men and 707,212 Jewish women who underwent a compulsory physical examination between ages 16 and 19 years from 1967 to 2002. Pancreatic cancer incidence through December 31, 2012 was identified by linkage to the national cancer registry. Multivariable-adjusted Cox regression was used to estimate hazard ratios (HRs) for pancreatic cancer according to the US Centers for Disease Control and Prevention (CDC) BMI percentiles at baseline. RESULTS: Over a median 23 year follow-up, 551 incident cases of pancreatic cancer cases occurred (423 men; 128 women). Compared with normal weight (5th to-<85th percentile), obesity (≥95th percentile) was associated with an increased risk of cancer among both men (HR, 3.67; 95% confidence interval [CI], 2.52-5.34) and women (HR, 4.07; 95% CI, 1.78-9.29). Among men, compared with low-normal BMI (≥5th to <25th percentile), high-normal BMI (≥75th to <85th percentile) and overweight (85th to 95th percentile) also were associated with a higher risk for cancer(high-normal BMI: HR, 1.49; 95% CI, 1.05-2.13; overweight: HR, 1.97; 95% CI, 1.39-2.80). The estimated population-attributable fraction because of overweight and obesity was 10.9% (95% CI, 6.1%-15.6%). CONCLUSIONS: Men and women who were obese or overweight as adolescents are at an increased risk for subsequent pancreatic cancer.


  • Definition of an extended minimum level of lymphadenectomy in non-pancreatic periampullary cancer resections

https://www.researchgate.net/publication/325862954_Definition_of_an_extended_minimum_level_of_lymphadenectomy_in_non-pancreatic_periampullary_cancer_resections


  • A Refined Staging Model for Resectable Pancreatic Ductal Adenocarcinoma Incorporating Examined Lymph Nodes, Location of Tumor and Positive Lymph Nodes Ratio

https://www.researchgate.net/publication/327545050_A_Refined_Staging_Model_for_Resectable_Pancreatic_Ductal_Adenocarcinoma_Incorporating_Examined_Lymph_Nodes_Location_of_Tumor_and_Positive_Lymph_Nodes_Ratio


  • Nomogram to Predict Cancer-Specific Survival in Patients with Pancreatic Acinar Cell Carcinoma: A Competing Risk Analysis

https://www.researchgate.net/publication/328335210_Nomogram_to_Predict_Cancer-Specific_Survival_in_Patients_with_Pancreatic_Acinar_Cell_Carcinoma_A_Competing_Risk_Analysis


  • A prospective clinical and biological database for pancreatic adenocarcinoma: the BACAP cohort

https://bmccancer.biomedcentral.com/articles/10.1186/s12885-018-4906-4


  • The incidence and survival of pancreatic cancer by histology, including rare subtypes: a nation‐wide cancer registry‐based study from Taiwan

https://onlinelibrary.wiley.com/doi/pdf/10.1002/cam4.1795


  • Pancreatic cancer and autoimmune diseases: An association sustained by computational and epidemiological case-control approaches: Autoimmune diseases and pancreatic cancer risk

https://www.researchgate.net/publication/327754246_Pancreatic_cancer_and_autoimmune_diseases_An_association_sustained_by_computational_and_epidemiological_case-control_approaches_Autoimmune_diseases_and_pancreatic_cancer_risk


- ASO Author Reflections: Staging Laparoscopy Improves Overall Survival of Patients with Pancreatic Adenocarcinoma Found to Have Occult Metastatic Disease

Annals of surgical oncology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30430323


  • Minimally Invasive Staging Surgery for Cancer

https://www.surgonc.theclinics.com/article/S1055-3207(18)30677-X/fulltext


  • Risk factors related to metastasis of para-aortic lymph nodes in pancreatic ductal adenocarcinoma: A retrospective observational study

https://journals.lww.com/md-journal/Fulltext/2018/10050/Risk_factors_related_to_metastasis_of_para_aortic.9.aspx


  • Impact of tumor size on survival of patients with resected pancreatic ductal adenocarcinoma: a systematic review and meta-analysis

https://bmccancer.biomedcentral.com/articles/10.1186/s12885-018-4901-9


  • Biomarker panel predicts survival after resection in pancreatic ductal adenocarcinoma: A multi-institutional cohort study

https://www.researchgate.net/publication/328246979_Biomarker_panel_predicts_survival_after_resection_in_pancreatic_ductal_adenocarcinoma_A_multi-institutional_cohort_study



  • The New American Joint Committee on Cancer TNM Staging System for Pancreatic Cancer—Balancing Usefulness With Prognostication

https://jamanetwork.com/journals/jamasurgery/fullarticle/2705293


  • International Validation of the Eighth Edition of the American Joint Committee on Cancer (AJCC) TNM Staging System in Patients With Resected Pancreatic Cancer

https://jamanetwork.com/journals/jamasurgery/fullarticle/2705296


  • Evaluation of the prognostic value of the new AJCC 8th edition staging system for patients with pancreatic adenocarcinoma; a need to subclassify stage III?

https://www.sciencedirect.com/science/article/pii/S0959804918313686


- Role of adjuvant therapy in resected stage IA subcentimeter (T1a/T1b) pancreatic cancer

Cancer 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30457666

BACKGROUND: The standard of care for patients with resected stage I to stage III pancreatic ductal adenocarcinoma (PDAC) is adjuvant gemcitabine-based chemotherapy. The role of adjuvant treatment in patients with subcentimeter, stage IA PDAC is unknown. The current study evaluated the effect of adjuvant treatment on survival outcomes among patients with American Joint Committee on Cancer/International Union Against Cancer stage IA (T1N0) resected PDAC using the National Cancer Data Base (NCDB). METHODS: A retrospective review of the NCDB was conducted for patients diagnosed with T1 (tumor limited to the pancreas and measuring ≤2 cm in greatest dimension), lymph node-negative (N0), resected PDAC between 2004 and 2013. Patient demographics, histology, adjuvant treatment, and survival trends were examined. Kaplan-Meier analysis and log-rank tests were performed to determine the unadjusted association between overall survival (OS), tumor size, and treatment. RESULTS: A total of 876 patients met the inclusion criteria. The patients had a mean age of 66.2 years (range, 32-90 years); approximately 83.3% were white (730 patients) and 53.1% were female (465 patients). Approximately 45.9% of the patients had moderately differentiated tumor histology (402 patients); 70.0% (613 patients) had tumors measuring 1 to 2 cm (T1c) and 30.0% (263 patients) had tumors measuring <1 cm (T1a/T1b). Approximately 94.2% of patients had negative surgical margins (815 patients) and 46.9% (410 patients) received adjuvant therapy. The median OS was significantly different for patients who received adjuvant therapy compared with patients who did not (70.7 months vs 46.9 months; P=.0001). For patients with tumors measuring <1 cm, survival was not found to be significantly different between patients who received adjuvant treatment compared with those who did not (not reached vs 85.3 months; P=.54). In the multivariable analysis, none of the covariates (treatment group, Charlson-Deyo Score, age, insurance, and facility status) demonstrated significant differences for patients with tumors measuring <1 cm. CONCLUSIONS: The current study is the first to demonstrate no survival benefit for adjuvant therapy in patients with resected subcentimeter PDAC.


Back to top


Macroscopy

Macroscopy / Grossing


- Evaluation of All Surgical Margins in Pancreatic Resection Specimens by Proper Grossing Techniques: Surgical Pathology Experience of 285 Cases

Turk patoloji dergisi 2018 ;34(3):242-246

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29630087

OBJECTIVE: The aim of this study was to review our series of pancreatic resection specimen handling results and focus on the positivity of the tumor in various retroperitoneal surgical margins. MATERIAL AND METHOD: Our archival cases from 2008 to 2018 were retrospectively examined, especially for the surgical margins. The demographics, tumor locations, and the diagnoses were recorded. The state of all of the retropancreatic surgical margins (anterior, posterior, superior, inferior, superior mesenteric vein and artery) were recorded. RESULTS: There were 285 cases, of which 157 were male and 128 female. The mean and median ages were 63.3 and 64, respectively. Invasive ductal adenocarcinoma was the most common diagnosis [202 cases (70.8%)]. Positivity was observed in 90 (31.5%) margins. The majority was in the superior mesenteric vein margin [n:24 (8.4%)]. This was followed by the anterior, resection and SMA margins. CONCLUSION: Pancreatic resections should macroscopically be sampled by recommended methods in order to detect positivity in individual margins by proper grossing techniques. When this is applied, the superior mesenteric vein margin is the margin most prone to be positive for the tumor.


- Incidence and risk factors for abdominal occult metastatic disease in patients with pancreatic adenocarcinoma

Journal of surgical oncology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30380143

BACKGROUND: The incidence of occult metastatic disease (OMD) in pancreatic ductal adenocarcinoma (PDAC) and associated risk factors are largely unknown. METHODS: We identified all patients with PDAC, who had an aborted oncologic operation due to OMD within a 10-year period. The cases were matched to a cohort of resected PDAC patients on a 1:3 ratio, based on age and sex, for comparison of preoperative clinical characteristics and potential risk factors for OMD. RESULTS: In the studied period, 117 patients with OMD were identified in 1423 pancreatectomies performed for PDAC (8%). Liver metastases were the most common finding (79%) followed by peritoneal implants (16%). When compared with non-OMD cases, patients with OMD presented more often with abdominal pain (P < 0.001), and higher preoperative carbohydrate antigen 19-9 (CA 19-9) values ( P = 0.007). Additionally, indeterminate liver lesions on preoperative computed tomography (CT) were identified in 40% of OMD versus 17% of non-OMD patients ( P < 0.001). Multivariable analysis distinguished four independent predictors for OMD: indeterminate lesions on preoperative CT, tumor size > 30 mm, abdominal pain, and preoperative CA 19-9 > 192 U/mL. CONCLUSIONS: Occurrence of OMD in PDAC accounts for 8% of cases. Preoperative CA 19-9 > 192 U/mL, primary tumor size > 30 mm, and identification of indeterminate lesions in preoperative CT may indicate the need for diagnostic laparoscopy.


- Barriers to Surgical Resection of Pancreatic Adenocarcinoma

Annals of surgical oncology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30406483


Back to top


Preneoplastic and Preinvasive Lesions

Preneoplastic and Preinvasive Lesions, PanIN, IPMN, MCN, ICPN


  • Cancerization of the Pancreatic Ducts: Demonstration of a Common and Under-recognized Process Using Immunolabeling of Paired Duct Lesions and Invasive Pancreatic Ductal Adenocarcinoma for p53 and Smad4 Expression

https://journals.lww.com/ajsp/Fulltext/2018/11000/Cancerization_of_the_Pancreatic_Ducts_.16.aspx


- Toll-like receptors 2, 4 and 9 and hypoxia markers HIF-1alpha and CAIX in pancreatic intraepithelial neoplasia

APMIS : acta pathologica, microbiologica, et immunologica Scandinavica 2018 Nov;126(11):852-863

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30357962

Pancreatic cancer arises from precursor lesions called pancreatic intraepithelial neoplasia (PanIN) characterized by inflammatory microenvironment. In pancreatic cancer, strong innate immunity and hypoxia responses are typical. Occurrence and relationship of these responses in human PanINs is unknown. We have studied the expression of toll-like receptors (TLR) TLR2, TLR4 and TLR9, and hypoxia markers HIF-1alpha and Carbonic anhydrase IX (CAIX) in normal and inflamed pancreatic ducts, in PanINs and in cancers. The samples of 69 surgically resected pancreatic ductal adenocarcinoma patients were stained using immunohistochemistry. We found TLR2, TLR9, HIF-1alpha and CAIX to be prominently expressed in pancreatic intraepithelial neoplasia. Expression of TLR2 showed a linear increase from PanIN1 to PanIN3, while the highest TLR4 expression was detected in inflamed ducts, and TLR9 expression in PanIN1 lesions. Within the PanIN1-group, nuclear HIF-1alpha correlated with membranous and cytoplasmic TLR2 expression (ρ = 0.982 and 0.815; p < 0.001 and p = 0.025, respectively), and in the PanIN2-group nuclear HIF-1alpha correlated with nuclear TLR9 expression 0.636, p = 0.026). Our findings show that the expression of TLRs 2, 4 and 9, and hypoxia markers HIF-1alpha and CAIX is abnormal in pancreatic intraepithelial neoplasia suggesting that both the innate immunity activation and hypoxia response are involved in early pancreatic carcinogenesis. However, these processes might be independent.


- Pathways of Progression From Intraductal Papillary Mucinous Neoplasm to Pancreatic Ductal Adenocarcinoma Based on Molecular Features

Gastroenterology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30342036

BACKGROUND & AIMS: Intraductal papillary mucinous neoplasms (IPMNs) are regarded as precursors of pancreatic ductal adenocarcinomas (PDAs), but little is known about mechanism of progression. This makes it a challenge to assess cancer risk in patients with IPMNs. We investigated associations of IPMNs with concurrent PDAs by genetic and histologic analyses. METHODS: We obtained 30 pancreatic tissues with concurrent PDAs and IPMNs; 168 lesions, including incipient foci, were mapped, microdissected, and analyzed for mutations in 18 pancreatic cancer-associated genes and expression of tumor suppressors. RESULTS: We determined the clonal relatedness of lesions, based on driver mutations shared by PDAs and concurrent IPMNs, and classified the lesions into 3 subtypes. Twelve PDAs contained driver mutations shared by all concurrent IPMNs, which we called the sequential subtype. This subset was characterized by less diversity in incipient foci with frequent GNAS mutations. Eleven PDAs contained some driver mutations that were shared with concurrent IPMNs, which we called the branch-off subtype. In this subtype, PDAs and IPMNs had identical KRAS mutations but different GNAS mutations, although the lesions were adjacent. Whole-exome sequencing and methylation analysis of these lesions indicated clonal origin with later divergence. Ten PDAs had driver mutations not found in concurrent IPMNs, called the de novo subtype. Expression profiles of TP53 and SMAD4 increased our ability to differentiate these subtypes compared with sequencing data alone. The branch-off and de novo subtypes had substantial heterogeneity among early clones, such as differences in KRAS mutations. Patients with PDAs of the branch-off subtype had a longer times of disease-free survival than patients with PDAs of the de novo or the sequential subtypes. CONCLUSIONS: Detailed histologic and genetic analysis of PDAs and concurrent IPMNs identified 3 different pathways by which IPMNs progress to PDAs-we call these the sequential, branch-off, and de novo subtypes. Subtypes might associate with clinical and pathology features and be used to select surveillance programs for patients with IPMNs.


- Increased SOX9 Expression in Premalignant and Malignant Pancreatic Neoplasms

Annals of surgical oncology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30357576

BACKGROUND: SOX9, a progenitor cell marker, is important for pancreatic ductal development. Our goal was to examine SOX9 expression differences in intraductal papillary mucinous neoplasms (IPMNs) and ductal adenocarcinoma (PDAC) compared with benign pancreatic duct (BP). METHODS: SOX9 expression was evaluated by immunohistochemistry performed on 93 specimens: 37 BP, 24 low grade (LG) IPMN, 12 high grade (HG) IPMN, and 20 PDAC. A linear mixed-effects model was used to compare the percentage of cells expressing SOX9 by specimen type. A separate linear mixed-effects model evaluated differences in SOX9 expression by staining intensity in pancreatic epithelial cells. RESULTS: Nuclear SOX9 expression was detected in the epithelial cells of 98% HG IPMN, 93% LG IPMN, 83% PDAC, and 60% BP. Compared with BP, SOX9 was expressed from a significantly greater percentage of cells in LG IMPN, HG IMPN, and PDAC (p < 0.001 for each). BP and PDAC showed greater variability in SOX9 expression in epithelial cells compared with IPMNs which showed strong, homogenous SOX9 expression in almost all cells. Compared with BP, both LG and HG IPMN showed significantly greater SOX9 expression (p < 0.001 for each), but there was no significant difference in SOX9 expression between LG and HG IPMN (p > 0.05). PDAC had significantly higher expression of SOX9 compared with BP but significantly lower SOX9 expression compared with LG or HG IPMN (p < 0.001 for each). CONCLUSIONS: IPMNs demonstrated the highest expression levels of SOX9. SOX9 expression in BP and PDAC demonstrated much more heterogeneity compared with the strong, uniform expression in IPMN.


  • Clinical Management and Surgical Decision-Making of IPMN of the Pancreas

https://link.springer.com/protocol/10.1007/978-1-4939-8879-2_2


- The epithelial-mesenchymal transition induces aggressivity of mucinous cystic neoplasm of the pancreas with neuroendocrine component: An immunohistochemistry study

Pathology, research and practice 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30391209

BACKGROUND: Pancreatic mucinous cystic neoplasms (MCN) are rare tumors that are usually diagnosed in females. MATERIALS AND METHODS: In our department, only four of the 109 consecutive cases of pancreatic tumors (3.67%) were diagnosed as MCNs. In this report, we present the characteristics of these four specific cases which also showed unusual HER-2 positivity and neuroendocrine differentiation. RESULTS: The four MCNs were diagnosed in patients with ages between 46 and 75 years. Other clinical particularities were the following: one benign case, splenic rupture as result of a giant cystic tumor on the tail of the pancreas directly invading the spleen in the second one, metastases in the accessory spleen in the third one and invasion of the abdominal vessels in the fourth case. In all of these cases, the ovarian-like stroma tested positivity for calretinin, progesterone receptor (PR) and, in cases 2 and 3, for AE1/AE3 keratin. The malignant tumor cells were marked by carcinoembryonic antigen, HER-2, maspin, PR and the neuroendocrine markers synaptophysin, CD56, and neuron-specific enolase. CONCLUSIONS: These cases highlight the unusually aggressive behavior of pancreatic MCN with invasive carcinomas that share mixed exo- and endocrine components and show epithelial-mesenchymal transition.


- Adjuvant chemotherapy is associated with improved postoperative survival in specific subtypes of invasive intraductal papillary mucinous neoplasms (IPMN) of the pancreas: it is time for randomized controlled data

HPB : the official journal of the International Hepato Pancreato Biliary Association 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30366881

BACKGROUND: Very little is known about adjuvant chemotherapy for invasive Intraductal Papillary Mucinous Neoplasms (IPMNs) of the pancreas. The aim was to assess whether adjuvant chemotherapy affects survival. METHODS: Retrospective evaluation of invasive IPMNs. Patients treated with surgery alone or followed by adjuvant chemotherapy were compared in terms of survival. RESULTS: A total of 102 invasive IPMNs were analyzed. Median follow-up was 72 (5-318) months and 18.6% received adjuvant chemotherapy. Overall, recurrence rate was 40.2%, while 5-year overall survival and disease specific survival (DSS) were 65.3% and 69.4%, respectively. N1 disease (HR5.58, CI95% 2.49-12.51, p < 0.01), tubular type (HR2.35, CI95% 1.71-4.82, p = 0.05) and G3 tumors (HR4.54, CI95% 2.12-15.49, <0.01) were predictors of reduced DSS. Overall, there was no difference in the 5-year DSS comparing patients treated with adjuvant chemotherapy to surgery alone (61.8 vs. 69.4%, p = 0.8). Adjuvant chemotherapy significantly improved DSS only in N1 (5-years-DSS 76 vs. 35.8%, p = 0.01) and tubular carcinomas (5-years-DSS 88.9 vs. 53%, p = 0.03). CONCLUSIONS: Adjuvant therapy improves survival only in invasive IPMNs with nodal disease or tubular differentiation. Future trials are needed to improve the level of evidence about adjuvant chemotherapy.


- High-grade Dysplasia in Resected Main-duct Intraductal Papillary Mucinous Neoplasm (MD-IPMN) is Associated with an Increased Risk of Subsequent Pancreatic Cancer

The American journal of gastroenterology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30413822

BACKGROUND: There is lack of consensus on post-operative surveillance for resected non-invasive intraductal papillary neoplasms (IPMNs). In this study we explored risk factors for subsequent PC in patients with MD-IPMN undergoing partial pancreatectomy. METHODS: We searched the Mayo Clinic surgical pathology database for all cases of resected MD-IPMN between 1997 and 2014. Cases with histologically confirmed main pancreatic duct involvement either isolated or in a mixed pattern with branch-duct involvement were included. Outcomes of PC in the remnant pancreas, and death related to MD-IPMN were assessed with survival analyses (Kaplan-Meier and Cox regression). RESULTS: Among the 179 patients with resected MD-IPMN the incidence of concomitant PC and high-grade dysplasia (HGD) in the resected specimen was 23 and 14%, respectively. The mean duration of follow-up was 4.31 years (range 0.12-13.5 years). Excluding 28 subjects who either underwent initial total pancreatectomy or partial pancreatectomy with surgical margins positive for PC/HGD, the 5-year incidence of subsequent PC was 12%, including 60.6% and15.6% in those with initial PC and HGD, respectively. The 10-year incidence of PC was 21.2% overall, 60.6% for PC, 38.3% for HGD, and 3.0% for LGD. Risk of subsequent PC was significantly higher for those with initial PC compared with HGD (HR = 4.95, 95% CI: 1.63-15.03, p = 0.005 and for HGD compared with LGD (HR = 11.30, 95% CI: 1.55-82.26, p = 0.017). CONCLUSION: Patients with MD-IPMN with PC or HGD undergoing segmental pancreatectomy are at higher risk of subsequent PC and may benefit from post-operative surveillance. The post-operative surveillance intervals in resected MD- IPMNs need to be tailored based on dysplasia grade.


  • Adjuvant chemotherapy is associated with improved postoperative survival in specific subtypes of invasive intraductal papillary mucinous neoplasms (IPMN) of the pancreas: it is time for randomized controlled data

https://www.sciencedirect.com/science/article/abs/pii/S1365182X18344630


  • Cyst location and presence of high grade dysplasia or invasive cancer in intraductal papillary mucinous neoplasms of the pancreas: a seven institution study from the central pancreas consortium

https://www.sciencedirect.com/science/article/abs/pii/S1365182X1834468X


  • Intraductal papillary mucinous neoplasm to pancreas ductal adenocarcinoma sequence and pancreas cancer screening

http://www.eusjournal.com/article.asp?issn=2303-9027;year=2018;volume=7;issue=5;spage=314;epage=318;aulast=Farrell


  • Histo-molecular oncogenesis of pancreatic cancer: From precancerous lesions to invasive ductal adenocarcinoma

https://www.wjgnet.com/1948-5204/full/v10/i10/317.htm


  • An extremely rare case who underwent total remnant pancreatectomy due to recurrent pancreatic metastasis of intraductal tubulopapillary neoplasm

https://link.springer.com/article/10.1007/s12328-018-0913-x


  • Total Pancreatectomy for Presumed Intraductal Papillary Mucinous Neoplasms: A Multicentric Study of the French Surgical Association (AFC)

https://journals.lww.com/annalsofsurgery/Abstract/2018/11000/Total_Pancreatectomy_for_Presumed_Intraductal.17.aspx


- Endoscopic Ultrasound Assessment of Pancreatic Duct Diameter Predicts Neuroendocrine Tumors and Other Pancreas Masses

Pancreas 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30451795

OBJECTIVES: Distinguishing neuroendocrine tumors (NETs) and other pancreas lesions from adenocarcinomas via endoscopic ultrasound (EUS) requires additional tissue for special staining and processing. Our aim was to determine if main pancreatic duct (PD) diameter on EUS helps to differentiate NET and other unusual tumors from adenocarcinoma. METHODS: We evaluated 30 consecutive patients diagnosed with NET or other pancreas lesions by EUS with 90 matched patients who were found to have adenocarcinoma. Dilated PD was defined as greater than 3 mm. Multivariate logistic regression was used to evaluate associations between lesion type and PD diameter. RESULTS: Among the 30 patients with NET/other pancreas lesions, 21 had NETs, 7 had metastases, and 2 had lymphomas. A dilated PD was demonstrated in only 3.3% of pancreatic NET/other lesions but present in 88.9% of cases of primary adenocarcinoma (P < 0.01). In multivariate analysis, a normal PD diameter and absence of clinical symptoms strongly predicted the presence of pancreatic NET/other versus adenocarcinoma (P < 0.01). CONCLUSIONS: The absence of PD dilation upstream of the lesion suggests NET or other lesions rather than adenocarcinoma. This finding should prompt endosonographers to obtain additional tissue at the time of EUS to send for special studies.



Back to top


Microenvironment

Tumor Stroma Interactions, Microenvironment, Inflammatory Response


- Expression of Epithelial-Mesenchymal Transition Proteins in Pancreatic Anaplastic (Undifferentiated) Carcinoma

Pancreas 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30451796

OBJECTIVES: The aim of this study was to identify an association of pancreatic anaplastic carcinoma (APC) with the epithelial-mesenchymal transition (EMT). METHODS: Resected APCs (n = 24) were examined to assess components of APCs, including carcinomatous, transitional, and sarcomatous regions. Analysis was performed based on the immunoreactivity of E-cadherin and 3 EMT-related proteins: Slug (zinc finger protein SNAI2), Twist (Twist-related protein 1), and Zeb1 (zinc finger E-box-binding homeobox 1). Expression score was determined based on staining intensity and stained area of the target cells. Finally, we performed a hierarchical clustering based on the expression pattern of E-cadherin and EMT-related proteins of the sarcomatous component. RESULTS: The expression score of E-cadherin decreased in the order of sarcomatous > transitional > carcinomatous components (P < 0.01). Although there were significant differences in the immunohistochemical scores of Slug, Twist, and Zeb1 between carcinomatous and transitional components (P < 0.01), the significant difference in immunohistochemical score of Zeb1 between transitional and sarcomatous components was found (P < 0.05). Furthermore, APCs were divided into 2 subgroups based on the expression patterns of E-cadherin and EMT-related proteins (hierarchical clustering analysis). Consequently, these subgroups were distinguished by Twist expression. CONCLUSIONS: Epithelial-mesenchymal transition plays an essential role in the pathogenesis of APC.This is an open-access article distributed under the terms of the Creative Commons Attribution-Non Commercial-No Derivatives License 4.0 (CCBY-NC-ND), where it is permissible to download and share the work provided it is properly cited. The work cannot be changed in any way or used commercially without permission from the journal.


- Tenascin C, Fibronectin, and Tumor-Stroma Ratio in Pancreatic Ductal Adenocarcinoma

Pancreas 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30451798

OBJECTIVES: Pancreatic ductal adenocarcinoma (PDAC) is characterized by abundant stroma with increased expression of tenascin C and fibronectin. Their role and tumor-stroma ratio in PDAC are not well known. The aim of this study was to evaluate tenascin C and fibronectin expression and tumor-stroma ratio and their prognostic relevance in PDAC. METHODS: Ninety-five resected PDACs were immunohistochemically stained for tenascin C and fibronectin, and the expression was separately assessed in tumor bulk and front. Tumor-stroma ratio was determined with sections stained with hematoxylin-eosin. RESULTS: Tenascin C and fibronectin were abundantly expressed in the stroma of PDAC, but absent in adjacent normal pancreatic tissue. Fibronectin expression of the bulk was associated with high T class (P = 0.045). In the main analysis, tenascin C and fibronectin expression and tumor-stroma ratio were not associated with patient survival. In a subgroup analysis of early-stage PDAC (T1-T2 tumors), high tenascin C expression in the tumor bulk was associated with poor prognosis (hazard ratio, 8.23; 95% confidence interval, 2.71-24.96). CONCLUSIONS: Tenascin C and fibronectin are abundantly expressed in PDAC, but they seem to have no major association with patient survival. However, in early-stage PDAC, tenascin C expression of the tumor bulk may have prognostic impact. Tumor-stroma ratio has no prognostic value in PDAC.This is an open-access article distributed under the terms of the Creative Commons Attribution-Non Commercial-No Derivatives License 4.0 (CCBY-NC-ND), where it is permissible to download and share the work provided it is properly cited. The work cannot be changed in any way or used commercially without permission from the journal.


  • PD-L1 expression in pancreatic adenosquamous carcinoma: PD-L1 expression is limited to the squamous component

https://www.sciencedirect.com/science/article/pii/S0344033818307076


  • Current approaches to immunotherapy in noncolorectal gastrointestinal malignancies

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6173942/


  • Epithelial-Stromal Interactions in Pancreatic Cancer

https://www.annualreviews.org/doi/abs/10.1146/annurev-physiol-020518-114515


- Stromal protein βig-h3 reprogrammes tumour microenvironment in pancreatic cancer

Gut 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30415234

OBJECTIVE: Pancreatic cancer is associated with an abundant stromal reaction leading to immune escape and tumour growth. This massive stroma drives the immune escape in the tumour. We aimed to study the impact of βig-h3 stromal protein in the modulation of the antitumoural immune response in pancreatic cancer. DESIGN: We performed studies with p48-Cre;KrasG12D, pdx1-Cre;KrasG12D;Ink4a/Arffl/fl, pdx1-Cre;KrasG12D; p53R172H mice and tumour tissues from patients with pancreatic ductal adenocarcinoma (PDA). Some transgenic mice were given injections of anti-βig-h3, anti-CD8, anti-PD1 depleting antibodies. Tumour growth as well as modifications in the activation of local immune cells were analysed by flow cytometry, immunohistochemistry and immunofluorescence. Tissue stiffness was measured by atomic force microscopy. RESULTS: We identified βig-h3 stromal-derived protein as a key actor of the immune paracrine interaction mechanism that drives pancreatic cancer. We found that βig-h3 is highly produced by cancer-associated fibroblasts in the stroma of human and mouse. This protein acts directly on tumour-specific CD8+ T cells and F4/80 macrophages. Depleting βig-h3 in vivo reduced tumour growth by enhancing the number of activated CD8+ T cell within the tumour and subsequent apoptotic tumour cells. Furthermore, we found that targeting βig-h3 in established lesions released the tissue tension and functionally reprogrammed F4/80 macrophages in the tumour microenvironment. CONCLUSIONS: Our data indicate that targeting stromal extracellular matrix protein βig-h3 improves the antitumoural response and consequently reduces tumour weight. Our findings present βig-h3 as a novel immunological target in pancreatic cancer.


  • Abrogation of glutathione peroxidase-1 drives EMT and chemoresistance in pancreatic cancer by activating ROS-mediated Akt/GSK3β/Snail signaling

https://www.nature.com/articles/s41388-018-0392-z


  • Neoepitope targets of tumour-infiltrating lymphocytes from patients with pancreatic cancer

https://www.nature.com/articles/s41416-018-0262-z


  • Typing of pancreatic cancer-associated fibroblasts identifies different subpopulations

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6224473/


  • Pancreatic Cancer Subtypes: Beyond Lumping and Splitting

https://www.gastrojournal.org/article/S0016-5085(18)35213-2/pdf

https://www.ncbi.nlm.nih.gov/pubmed/30419209


- Hyperglycemia aggravates microenvironment hypoxia and promotes the metastatic ability of pancreatic cancer

Computational and structural biotechnology journal 2018 ;16():479-487

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30455857

Background: Diabetes mellitus and pancreatic cancer are intimately related. Our previous studies showed that high levels of blood glucose promote epithelial-mesenchymal transition of pancreatic cancer. In this study, we evaluated the relationship between hyperglycemia and hypoxic tumor microenvironments. Methods: HIF-1α expression was evaluated by immunohistochemistry in clinical pancreatic cancer tissues with or without diabetes mellitus. Statistcal analysis was performed to explore the relationship between HIF-1α expression and pathological features of patients with pancreatic cancer. In vivo and in vitro models was established to detect whether a hyperglycemia environment could cause hypoxia in the pancreatic parenchyma and promote pancreatic cancer. In addition, we also tested the effect of HIF-1α siRNA on the high glucose-induced invasive and migratory abilities of BxPC-3 cells in culture. Result: Our data showed that pancreatic cancer patients with diabetes had a higher level of HIF-1α expression as well as biliary duct invasion and larger tumor volumes than individuals in the euglycemic group. Diabetic nude mice treated with streptozotocin (STZ) exhibited larger tumors and were more likely to develop liver metastasis than control mice. Acinar cells of the pancreas in diabetic mice showed an obvious expansion of the endoplasmic reticulum and increased nuclear gaps as well as chromatin close to the cellular membrane in some acinar cells. The expression area for Hypoxyprobe-1 and HIF-1α in the diabetic orthotopic xenograft group was larger than that in the control group. The expression level of HIF-1α in the BxPC-3 cancer cell line increased in response to high glucose and CoCl2 concentrations. The high glucose-induced invasive ability, migratory capacity and MMP-9 expression were counter-balanced by siRNA specific to HIF-1α. Conclusion: Our results demonstrate that the association between hyperglycemia and poor prognosis can be attributed to microenvironment hypoxia in pancreatic cancer.


  • Pancreatic stellate cells derived from human pancreatic cancer demonstrate aberrant SPARC-dependent ECM remodeling in 3D engineered fibrotic tissue of clinically relevant thickness

https://www.sciencedirect.com/science/article/pii/S0142961218308007


  • CMV and EBV targets recognized by tumor-infiltrating B lymphocytes in pancreatic cancer and brain tumors

https://www.nature.com/articles/s41598-018-34710-2


Back to top


SPN

Solid Pseudopapillary Neoplasm


- CD138/syndecan-1 in pancreatic solid and pseudopapillary neoplasms

Journal of clinical pathology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30275097


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=

Solid Pseudopapillary Neoplasm of the Pancreas in a Young Pediatric Patient: A Case Report and Systematic Review of the Literature.

https://www.ncbi.nlm.nih.gov/pubmed/?term=30325866


  • Suppression of stromal-derived Dickkopf-3 (DKK3) inhibits tumor progression and prolongs survival in pancreatic ductal adenocarcinoma

http://stm.sciencemag.org/content/10/464/eaat3487


  • Solid Pseudopapillary Neoplasm of the Pancreas in a Young Pediatric Patient: A Case Report and Systematic Review of the Literature.

https://www.ncbi.nlm.nih.gov/pubmed/30325866



Back to top


Analogue Tumors


Back to top


SCA


  • Serous cystadenoma of pancreas: A clinicopathologic experience of 23 cases from a major tertiary care center

https://journals.sagepub.com/doi/pdf/10.1177/2036361318809183


Back to top


Pancreatitis & Other Diseases


  • Morphologic Overlap Between Inflammatory Myofibroblastic Tumor and IgG4-related Disease Lessons From Next-generation Sequencing

https://journals.lww.com/ajsp/Abstract/publishahead/Morphologic_Overlap_Between_Inflammatory.97741.aspx


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


- Management of pregnancy-associated pancreatic cystic tumors: Review of the literature and results of a Pancreas Club Inc. Survey

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2018 Sep;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30274883

BACKGROUND/OBJECTIVES: Management of patients with pregnancy-associated cyst pancreatic cystic tumors (PA-PCT) is complicated by lack of large series. METHODS: A systematic literature review was conducted to extrapolate data on management of PA-PCT, and make a questionnaire on pending issues to be administered to the members of the Pancreas Club Inc. RESULTS: The literature review demonstrated a total of 35 PA-PCT in 34 women, described exclusively in the form of case reports, and permitted the identification of eleven key questions to be addressed in the survey. The combined analysis of literature review and survery responses provided several information. First, PA-PCT are predominantly located in the body-tail of the pancreas, cause non-specific symptoms, are of large size (mean size: 11.2 ± 4.5 cm), and are nearly always malignant or premalignant, making timing of surgery, and not indication for surgery, the main issue in the management of these tumors. Second, there is a risk of PA-PCT rupture during pregnancy. Ruptured PA-PCT had a mean size 13.5 ± 4.9 cm, but no prognostic factor could be identified. Survey opinions suggested that this occurrence is quite rare, even for large tumors. Third, most pregnancies were conducted to term (mean gestational age: 40.5 ± 0.7 weeks), with a vaginal delivery. Fourth, all procedures were carried out through an open approach and the spleen was rarely preserved. Survey indicated instead that laparoscopy could play a role, and that the spleen should be preserved when feasible. CONCLUSIONS: PA-PCT require individualized treatment. The definition of a management algorithm requires the implementation of an International Registry.


- Pancreatic mass and subcutaneous nodules

Gastroenterology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30296438


- Neonatal Diabetes: Two Cases with Isolated Pancreas Agenesis due to Homozygous PTF1A Enhancer Mutations and One with Developmental Delay, Epilepsy, and Neonatal Diabetes Syndrome due to KCNJ11 Mutation

Journal of clinical research in pediatric endocrinology 2018 06;10(2):168-174

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=28943513

Neonatal diabetes mellitus is a rare form of monogenic diabetes which is diagnosed in the first six months of life. Here we report three patients with neonatal diabetes; two with isolated pancreas agenesis due to mutations in the pancreas-specific transcription factor 1A (PTF1A) enhancer and one with developmental delay, epilepsy, and neonatal diabetes (DEND) syndrome, due to a KCNJ11 mutation. The two cases with mutations in the distal enhancer of PTF1A had a homozygous g.23508363A>G and a homozygous g.23508437A>G mutation respectively. Previous functional analyses showed that these mutations can decrease expression of PTF1A which is involved in pancreas development. Both patients were born small for gestational age to consanguineous parents. Both were treated with insulin and pancreatic enzymes. One of these patients’ fathers was also homozygous for the PTF1A mutation, whilst his partner and the parents of the other patient were heterozygous carriers. In the case with DEND sydrome, a previosly reported heterozygous KCNJ11 mutation, p.Cys166Tyr (c.497G>A), was identified. This patient was born to nonconsanguineous parents with normal birth weight. The majority of neonatal diabetes patients with KCNJ11 mutations will respond to sulphonylurea treatment. Therefore Glibenclamide, an oral antidiabetic of the sulphonylurea group, was started. This treatment regimen relatively improved blood glucose levels and neurological symptoms in the short term. Because we could not follow the patient in the long term, we are not able to draw conclusions about the efficacy of the treatment. Although neonatal diabetes mellitus can be diagnosed clinically, genetic analysis is important since it is a guide for the treatment and for prognosis.


- Foreign body: A sewing needle migrating from the gastrointestinal tract to pancreas

Turkish journal of surgery 2018 ;34(3):256-258

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30302435

Of all ingested foreign bodies, 2.4% comprise of sewing needles. Through perforation of gastrointestinal tract, which occurs in 1% of cases, they can migrate into the liver and pancreas. Foreign bodies in pancreas should be considered in the differential diagnosis of chronic abdominal pain. Computed tomography scans provide valuable information for the localization of the lesion, which guide the surgeon during the operation. Secondary to foreign bodies that migrate to the pancreas, complications with high mortality such as pancreatitis, pseudoaneurysm, and pancreas abscess can be seen. Thus, for this patient group, diagnostic laparoscopy is recommended, considering its advantages of decreased postoperative pain, decreased wound infection, and faster recovery time. Here we present a case of a 23-year-old female patient, from whom an ingested needle that migrated from the back wall of the stomach to the pancreas was extracted by laparoscopic surgery.


- The National Trends in Acute and Chronic Pancreatitis Needs to Be Improved

Gastroenterology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30315779


- Pancreatic Cancer Following Acute Pancreatitis: A Population-based Matched Cohort Study

The American journal of gastroenterology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30315287

BACKGROUND: Acute pancreatitis is linked to pancreatic cancer, but the direction of this association is not fully elaborated. METHODS: This was a population-based cohort study including all Swedish residents diagnosed with a first-time episode of acute pancreatitis between 1997 and 2013 and corresponding matched pancreatitis-free individuals from the general population. Hazard ratios for the association between acute pancreatitis and pancreatic cancer were estimated using multivariable Cox regression models. RESULTS: Overall, 49,749 individuals with acute pancreatitis and 138,750 matched individuals without acute pancreatitis were followed up for 1,192,134 person-years (median 5.3 years). A total of 769 individuals developed pancreatic cancer, of whom 536 (69.7%) had a history of acute pancreatitis. The risk of pancreatic cancer was substantially increased during the first few years after a diagnosis of acute pancreatitis but declined gradually over time, reaching a level comparable to the pancreatitis-free population after >10 years of follow-up. In those with non-gallstone-related acute pancreatitis, the risk of pancreatic cancer declined to a level comparable to the pancreatitis-free population only when follow-up time was censored for a second episode of acute pancreatitis or a diagnosis of chronic pancreatitis. Increasing number of recurrent episodes of acute pancreatitis was associated with increased risk of pancreatic cancer. CONCLUSION: These findings imply a delay in the diagnosis of pre-existing pancreatic cancer, if clinically presented as acute pancreatitis. Any association between non-gallstone-related acute pancreatitis and pancreatic cancer in the long-term (>10 years) could be mediated through recurrent acute pancreatitis or chronic pancreatitis.


  • Serum and histological IgG4-negative type 1 autoimmune pancreatitis

http://link-springer-com-443.webvpn.jxutcm.edu.cn/article/10.1007%2Fs12328-018-0919-4

https://www.researchgate.net/publication/328859473_Serum_and_histological_IgG4-negative_type_1_autoimmune_pancreatitis


  • The histologic diagnosis of IgG4‐related disease on small biopsies: Challenges and pitfalls

https://onlinelibrary.wiley.com/doi/abs/10.1111/his.13787


  • Coexisting Mucinous Cystic Neoplasm of the Pancreas and Type 1 Autoimmune Pancreatitis

https://www.jpatholtm.org/upload/pdf/jptm-2018-10-25.pdf


- Autoimmune pancreatitis in children: A single centre experience in diagnosis, management and long term follow up

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30455055

OBJECTIVES: Autoimmune pancreatitis (AIP) is a rare form of chronic pancreatitis and data is limited in the paediatric population. We aim to describe in detail a cohort of paediatric patients with AIP including their presentation, investigations that led to their diagnosis, management and long-term follow up. METHODS: We retrospectively reviewed the data of 6 patients diagnosed with AIP over an 10-year period. Data including demographics, clinical information, laboratory parameters, serological markers, radiological and histological findings as well as longitudinal follow up were collected. RESULTS: Out of the six patients, one was diagnosed with definitive Type 1 AIP, two with definitive Type 2 AIP, two with probable Type 2 AIP and one with suspected Type 2 AIP. Median time of follow up was 3.9 years (range 2.6-10.1). 4 patients had pancreatic biopsies with 2 of these patients showing granulocytic epithelial lesions (GELs). 4 patients received steroids and two of them developed ulcerative colitis. Azathioprine was commenced on the patient with Type 1 AIP to help her wean off steroids that caused significant side effects on her. Only two patients developed exocrine insufficiency. CONCLUSIONS: The long term follow up of our cohort of paediatric AIP shows good prognosis. More follow up data on patients with AIP is needed to help further characterize and define the disease.


Back to top


Techniques & Research Methods


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


- ASO Author Reflections: Fluorescent-Guided Surgery to Augment Pancreatic Cancer Surgery

Annals of surgical oncology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30315384


  • Subtyping of IPMN

https://link.springer.com/protocol/10.1007/978-1-4939-8879-2_1


  • Generation of Induced Pluripotent Stem Cell-Like Lines from Human Pancreatic Ductal Adenocarcinoma

https://link.springer.com/protocol/10.1007/978-1-4939-8879-2_4


  • Generation and Culture of Human Pancreatic Ductal Adenocarcinoma Organoids from Resected Tumor Specimens

https://link.springer.com/protocol/10.1007/978-1-4939-8879-2_9


  • Spheroid Culture of Human Pancreatic Ductal Cells to Reconstitute Development of Pancreatic Intraepithelial Neoplasia

https://link.springer.com/protocol/10.1007/978-1-4939-8879-2_6


  • Generation and Culture of Tumor and Metastatic Organoids from Murine Models of Pancreatic Ductal Adenocarcinoma

https://link.springer.com/protocol/10.1007/978-1-4939-8879-2_10


  • An In Vitro Three-Dimensional Organotypic Model to Analyze Peripancreatic Fat Invasion in Pancreatic Cancer: A Culture System Based on Collagen Gel Embedding

https://link.springer.com/protocol/10.1007/978-1-4939-8879-2_11


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


  • A “Clearer” View of Pancreatic Pathology: A Review of Tissue Clearing and Advanced Microscopy Techniques.

https://europepmc.org/abstract/med/30256228


  • Needle-based confocal laser endomicroscopy of pancreatic cystic lesions: a prospective multicenter validation study in patients with definite diagnosis

https://www.thieme-connect.com/products/ejournals/html/10.1055/a-0732-5356


Back to top


Reviews, Opinion Articles


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


  • Direct therapeutic targeting of immune checkpoint PD-1 in pancreatic cancer

https://www.nature.com/articles/s41416-018-0298-0


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


  • ASO Author Reflections: Do Distinct Patterns of Recurrence Impact the Prognosis of Patients With Resected Pancreatic Ductal Adenocarcinoma?

https://link.springer.com/article/10.1245/s10434-018-6820-z


- ASO Author Reflections: Distal Pancreatectomy with Celiac Axis Resection for Locally Advanced Pancreatic Cancer-Patient Selection and Surgical Experience are Key

Annals of surgical oncology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30456669



Back to top


Animal Studies


- RIP1 Kinase Drives Macrophage-Mediated Adaptive Immune Tolerance in Pancreatic Cancer

Cancer cell 2018 Nov;34(5):757-774.e7

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30423296

Pancreatic ductal adenocarcinoma (PDA) is characterized by immune tolerance and immunotherapeutic resistance. We discovered upregulation of receptor-interacting serine/threonine protein kinase 1 (RIP1) in tumor-associated macrophages (TAMs) in PDA. To study its role in oncogenic progression, we developed a selective small-molecule RIP1 inhibitor with high in vivo exposure. Targeting RIP1 reprogrammed TAMs toward an MHCIIhiTNFα+IFNγ+ immunogenic phenotype in a STAT1-dependent manner. RIP1 inhibition in TAMs resulted in cytotoxic T cell activation and T helper cell differentiation toward a mixed Th1/Th17 phenotype, leading to tumor immunity in mice and in organotypic models of human PDA. Targeting RIP1 synergized with PD1-and inducible co-stimulator-based immunotherapies. Tumor-promoting effects of RIP1 were independent of its co-association with RIP3. Collectively, our work describes RIP1 as a checkpoint kinase governing tumor immunity.


- β2 Adrenergic-Neurotrophin Feedforward Loop Promotes Pancreatic Cancer

Cancer cell 2018 Jan;33(1):75-90.e7

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29249692

Catecholamines stimulate epithelial proliferation, but the role of sympathetic nerve signaling in pancreatic ductal adenocarcinoma (PDAC) is poorly understood. Catecholamines promoted ADRB2-dependent PDAC development, nerve growth factor (NGF) secretion, and pancreatic nerve density. Pancreatic Ngf overexpression accelerated tumor development in LSL-Kras+/G12D;Pdx1-Cre (KC) mice. ADRB2 blockade together with gemcitabine reduced NGF expression and nerve density, and increased survival of LSL-Kras+/G12D;LSL-Trp53+/R172H;Pdx1-Cre (KPC) mice. Therapy with a Trk inhibitor together with gemcitabine also increased survival of KPC mice. Analysis of PDAC patient cohorts revealed a correlation between brain-derived neurotrophic factor (BDNF) expression, nerve density, and increased survival of patients on nonselective β-blockers. These findings suggest that catecholamines drive a feedforward loop, whereby upregulation of neurotrophins increases sympathetic innervation and local norepinephrine accumulation.



Back to top


Oncology and serum marker studies


  • Clinicopathological characteristics of pancreatic cancer with normal level of serum CA19-9

https://www.researchgate.net/publication/328061700_Clinicopathological_characteristics_of_pancreatic_cancer_with_normal_level_of_serum_CA19-9


  • Biomarker panel predicts survival after resection in pancreatic ductal adenocarcinoma: A multi-institutional cohort study

https://www.ejso.com/article/S0748-7983(18)31450-1/fulltext


Back to top


Epidemiology, Screening, Cancer Risk Factors


  • High prevalence of Hereditary Cancer Syndromes and Outcomes in Adults with Early-Onset Pancreatic Cancer

http://cancerpreventionresearch.aacrjournals.org/content/early/2018/09/29/1940-6207.CAPR-18-0014


  • Identification of Cystic Lesions by Secondary Screening of Familial Pancreatic Cancer (FPC) Kindreds Is Not Associated with the Stratified Risk of Cancer

https://www.nature.com/articles/s41395-018-0395-y


  • Coffee and pancreatic cancer risk among never‐smokers in the UK prospective Million Women Study

https://onlinelibrary.wiley.com/doi/abs/10.1002/ijc.31994


  • Screening and surveillance in hereditary gastrointestinal cancers: Recommendations from the European Society of Digestive Oncology (ESDO) expert discussion at the 20th European Society for Medical Oncology (ESMO)/World Congress on Gastrointestinal Cancer, Barcelona, June 2018

https://www.sciencedirect.com/science/article/pii/S0959804918313741


  • Pancreatic cancer and autoimmune diseases: An association sustained by computational and epidemiological case-control approaches: Autoimmune diseases and pancreatic cancer risk

https://www.researchgate.net/publication/327754246_Pancreatic_cancer_and_autoimmune_diseases_An_association_sustained_by_computational_and_epidemiological_case-control_approaches_Autoimmune_diseases_and_pancreatic_cancer_risk


- A steady decline in pancreas transplantation rates

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30448085

BACKGROUND/OBJECTIVES: After years of growth in many pancreas transplant programs, UNOS has reported declining transplant numbers in the USA. This precipitating trend urges for an evaluation of the transplant numbers and scientific productivity in the Eurotransplant region and the UK. METHODS: We performed a trend analysis of pancreas transplantation rates, between 1997 and 2016, adjusting for changes in population size, and an analysis of scientific publications in this field. We used information from the UNOS, Eurotransplant, and UK transplant registry and bibliometric information from the Web of Science database. RESULTS: Between 2004 and 2016 there was an average annual decline in pancreas transplantation rates per million inhabitants of 3.3% in the USA and 2.5% in the Eurotransplant region. In the UK, transplant numbers showed an average annual decline of 1.0% from 2009 to 2016. Publications in Q1 journals showed an annual change of -2.1% and +20.1%, before 2004, and a change of -3.8% and -5.5%, between 2004 and 2016, for USA and Eurotransplant publications, respectively. CONCLUSIONS: Adjusting pancreas transplantation rates for changes in population size showed a clear decline in transplant numbers in both the USA and Eurotransplant region, with first signs of decline in the UK. Following this trend, the number of scientific publications in this field have declined worldwide.


- Prevalence of Asymptomatic Intraductal Papillary Mucinous Neoplasms in Healthy and Ill Populations Detected by Ultrasonography: A Single-Center Study of 6353 Outpatients

Pancreas 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30451793

OBJECTIVES: The aim of this study was to establish the prevalence of intraductal papillary mucinous neoplasms (IPMNs) without and with high-risk stigmata (HRS)/worrisome features (WF) and the epidemiologic association between IPMNs and other diseases. METHODS: Ultrasound examinations of outpatients were evaluated. The IPMN was confirmed by magnetic resonance imaging. The prevalence of IPMNs and HRS/WF IPMNs was calculated. The association between IPMNs and other diseases was studied. RESULTS: The prevalence rate of IPMNs was 3.4%. A total of 1,531,264 IPMNs were expected in Italian population (2.5%), whereas 2257 per 100,000 citizens (2.3%) were expected in the European standard population (ESP2013). The prevalence rates of HRS/WF IPMNs were 0.5%, 0.7%, and 0.6%, in our, the Italian, and the ESP2013 populations, respectively. A total of 432,881 and 620 HRS/WF IPMNs per 100,000 residents were expected in the Italian and the ESP2013 populations, respectively. The IPMN prevalence increased over 50 years of age (odds ratio [OR], 3.2; P < 0.001) and over 70 years of age (OR, 1.9; P < 0.001). Female sex was related to the presence of IPMNs (OR, 1.9; P < 0.001). CONCLUSIONS: Intraductal papillary mucinous neoplasms had a high prevalence in asymptomatic nonhospitalized populations. Age older than 50 years identified a possible risk category.


  • Evaluating Susceptibility to Pancreatic Cancer: ASCO Provisional Clinical Opinion

http://ascopubs.org/doi/abs/10.1200/JCO.18.01489


Back to top



Bile Ducts


- Prognostic role of BAP-1 and PBRM-1 expression in intrahepatic cholangiocarcinoma

Virchows Archiv : an international journal of pathology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30377796

Intrahepatic cholangiocarcinoma (ICC) has universally poor outcome, mainly due to its late clinical presentation. Identification of specific biomarkers and development of effective treatment are still urgently required. Mutations in PBRM-1 and BAP-1 genes, and the expression of S100P have been related to survival in ICC. miR-31 seems also to play important regulatory functions in ICC and it directly regulates BAP-1 expression in lung cancer. In this study, tissue expression of BAP-1, PBRM-1, S100P, and miR-31 was investigated in ICC and correlated with clinical-pathological features. Sixty-one consecutive patients who underwent curative hepatic resection for ICC were enrolled. None received any therapy prior to surgery. Immunostaining for BAP-1, PBRM-1, and S100P, and in situ hybridization for miR-31 were performed, using tissue microarray slides. A strong retained expression of BAP-1 and PBRM-1 was associated with a reduced overall (p = 0.04 and p = 0.002, respectively) and disease-free survival (p = 0.05 and p = 0.02, respectively). An overexpression of S100P was related to a reduced overall survival (p = 0.005). The multivariate analyses identified the presence of perineural invasion and the retained PBRM-1 expression as independent predictors of worse overall [p = 0.02, hazard ratio (HR) = 2.25 (1.16-4.39) and p = 0.001, HR = 3.13 (1.56-6.28), respectively] and disease-free survivals [p = 0.03, HR = 2.43 (1.09-5.4) and p = 0.03, HR = 2.51 (1.11-5.67), respectively]. An overexpression of S100P was predictive of a worse overall survival [p = 0.02, HR = 1.66 (1.08-2.55)]. High levels of miR-31 were significantly associated to a low expression of BAP-1 protein (p = 0.03). In ICC, a retained expression of BAP-1 and PBRM-1, and an overexpression of S100P are related to a poor prognosis.


  • Pancreatic-Type Mixed Acinar Neuroendocrine Carcinoma Arising in the Common Bile Duct: A Case Report

https://journals.lww.com/pathologycasereviews/Abstract/2018/11000/Pancreatic_Type_Mixed_Acinar_Neuroendocrine.6.aspx


  • Mismatch repair deficiency is a rare but putative therapeutically relevant finding in non-liver fluke associated cholangiocarcinoma

https://www.nature.com/articles/s41416-018-0199-2


  • Prognostic role of BAP-1 and PBRM-1 expression in intrahepatic cholangiocarcinoma

https://www.researchgate.net/publication/328618448_Prognostic_role_of_BAP-1_and_PBRM-1_expression_in_intrahepatic_cholangiocarcinoma


  • Double Trouble: A Rare Case of Concurrent Biliary Adenofibroma and Hepatobiliary Mucinous Cystic Neoplasm

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6195646/


  • Outcomes of surgery for 2010 WHO classification-based intraductal papillary neoplasm of the bile duct: Case–control study of a single Japanese institution’s experience with special attention to mucin expression patterns

https://www.ejso.com/article/S0748-7983(18)31936-X/fulltext


  • Comparison of the Clinicopathologic Characteristics of Intraductal Papillary Neoplasm of the Bile Duct according to Morphological and Anatomical Classifications

https://www.jkms.org/search.php?where=aview&id=10.3346/jkms.2018.33.e266&code=0063JKMS&vmode=FULL


  • When the immune system is away biliary cancer cells may come back to play

https://www.researchgate.net/publication/328293566_When_the_immune_system_is_away_biliary_cancer_cells_may_come_back_to_play


  • Patterns of gene mutations in bile duct cancers: is it time to overcome the anatomical classification?

https://www.hpbonline.org/article/S1365-182X(18)30877-3/abstract


  • Surgical resection of lymph node positive intrahepatic cholangiocarcinoma may not improve survival

https://www.sciencedirect.com/science/article/pii/S1365182X18339352


- Cholangiocarcinoma: Classification, Histopathology and Molecular Carcinogenesis

Pathology oncology research : POR 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30448973

Cholangiocarcinoma (CC) is the second most common tumor of the liver, originating from the biliary system with increasing incidence and mortality worldwide. Several new classifications review the significance of tumor localization, site of origin, proliferation and biomarkers in the intrahepatic, perihilar and distal forms of the lesion. Based on growth pattern mass-forming, periductal-infiltrating, intraductal, undefined and mixed types are differentiated. There are further subclassifications which are applied for the histological features, in particular for intrahepatic CC. Recognition of the precursors and early lesions of CC including biliary intraepithelial neoplasia (BilIN), intraductal papillary neoplasm of the bile ducts (IPNB), biliary mucinous cystic neoplasm (MCNB) and the candidate precursors, such as bile duct adenoma and von Meyenburg complex is of increasing significance. In addition to the previously used biliary markers detected by immunohistochemistry, several new markers have been added to the differentiation of both the benign and malignant lesions, which can be used to aid in the subclassification in association with the outcome of CC. Major aspects of biliary carcinogenesis have been revealed, yet, the exact way of this diverse process is still unclear. The factors contributing to molecular cholangiocarcinogenesis include various risk factors, different anatomical localizations, multiple cellular origins, genetic and epigenetic alterations, tumor microenvironment, heterogeneity and clonal evolution. Driver mutations have been identified, implying that they are optimal candidates for targeted therapy. The most promising therapeutic candidates have entered clinical trials.


  • Cholangiocarcinoma: Classification, Histopathology and Molecular Carcinogenesis

https://link.springer.com/article/10.1007/s12253-018-0491-8


Back to top


Epidemiology, Screening, Cancer Risk Factors


- Statin use and reduced risk of biliary tract cancers in the UK Clinical Practice Research Datalink

Gut 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30448774

OBJECTIVE: To evaluate the association between statin use and risk of biliary tract cancers (BTC). DESIGN: This is a nested case-control study conducted in the UK Clinical Practice Research Datalink. We included cases diagnosed with incident primary BTCs, including cancers of the gall bladder, bile duct (ie, both intrahepatic and extrahepatic cholangiocarcinoma), ampulla of Vater and mixed type, between 1990 and 2017. For each case, we selected five controls who did not develop BTCs at the time of case diagnosis, matched by sex, year of birth, calendar time and years of enrolment in the general practice using incidence density sampling. Exposures were defined as two or more prescription records of statins 1 year prior to BTC diagnosis or control selection. ORs and 95% CIs for associations between statins and BTC overall and by subtypes were estimated using conditional logistic regression, adjusted for relevant confounders. RESULTS: We included 3118 BTC cases and 15 519 cancer-free controls. Current statin use versus non-use was associated with a reduced risk of all BTCs combined (adjusted OR=0.88, 95% CI 0.79 to 0.98). The reduced risks were most pronounced among long-term users, as indicated by increasing number of prescriptions (ptrend=0.016) and cumulative dose of statins (ptrend=0.008). The magnitude of association was similar for statin use and risk of individual types of BTCs. The reduced risk of BTCs associated with a record of current statin use versus non-use was more pronounced among persons with diabetes (adjusted OR=0.72, 95% CI 0.57 to 0.91). Among non-diabetics, the adjusted OR for current statin use versus non-use was 0.91 (95% CI 0.81 to 1.03, pheterogeneity=0.007). CONCLUSION: Compared with non-use of statins, current statin use is associated with 12% lower risk of BTCs; no association found with former statin use. If replicated, particularly in countries with a high incidence of BTCs, our findings could pave the way for evaluating the value of statins for BTC chemoprevention.



Back to top



Gallbladder


Morphology, Diagnostics, IHC

Morphology, Diagnostics, IHC


  • Intracystic Papillary Neoplasm of the Gallbladder Arising from a Localized Adenomyomatous Hyperplasia

https://www.kjpbt.org/upload/pdf/kpba-23-4-182.pdf


  • Differential diagnosis of gallbladder ascariasis debris: the added value of contrast enhanced ultrasound with high frequency transducer

https://www.researchgate.net/publication/328763772_Differential_diagnosis_of_gallbladder_ascariasis_debris_the_added_value_of_contrast_enhanced_ultrasound_with_high_frequency_transducer


  • Diffuse Intracystic Papillary Neoplasm Indistinguishable from Gallbladder Cancer: A Case Report

https://www.jstage.jst.go.jp/article/twmuj/advpub/0/advpub_2018006/_pdf


  • Five year experience of gallbladder polyp surveillance and cost effective analysis against new European consensus guidelines

https://www.sciencedirect.com/science/article/abs/pii/S1365182X18344873


  • Intracholecystic papillary-tubular neoplasm in a patient with choledochal cyst and anomalous pancreaticobiliary junction: case report

https://www.birpublications.org/doi/pdfplus/10.1259/bjrcr.20180079


  • Intracholecystic papillary–tubular neoplasm of gallbladder: A 5-year retrospective pathological study

http://www.ijpmonline.org/article.asp?issn=0377-4929;year=2018;volume=61;issue=4;spage=516;epage=519;aulast=Hazarika


  • A case report of intracholecystic papillary neoplasm of the gallbladder resembling a submucosal tumor

https://link.springer.com/article/10.1186/s40792-018-0524-2


  • Outcomes of surgical resection of gallbladder cancer in patients presenting with jaundice: A systematic review and meta‐analysis

https://onlinelibrary.wiley.com/doi/abs/10.1002/jso.25186


Back to top


Staging

Gallbladder TNM staging, Margins, Survival


- Impact of the number of examined lymph nodes on outcomes in patients with lymph node-negative gallbladder carcinoma

World journal of gastroenterology 2018 Jul;24(26):2886-2892

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30018483

AIM: To determine whether the number of examined lymph nodes (LNs) is correlated with the overall survival of gallbladder carcinoma (GBC) patients. METHODS: Patients were collected from the Surveillance Epidemiology and End Results database (2004-2013) and categorized by the number of LNs into six groups: 1 LN, 2 LNs, 3 LNs, 4 LNs, 5 LNs, and ≥ 6 LNs. Survival curves for overall survival were plotted with a Kaplan-Meier analysis. The log-rank test was used for univariate comparisons. RESULTS: In a cohort of 893 patients, the median number of examined LNs was two for the entire cohort. The survival for the 1 LN group was significantly poorer than those of the stage I and II disease groups and for the entire cohort. By dichotomizing the number of LNs from 1 to 6, we found that the minimum number of LNs that should be examined was four for stage I, four or five for stage II, and six for stage IIIA disease. Therefore, for the entire cohort, the number of examined LNs should be at least six, which is exactly consistent with the American Joint Committee on Cancer criteria. CONCLUSION: The examination of higher numbers of LNs is associated with improved survival after resection surgery for N0 GBC. The guidelines for GBC surgery, which recommend that six LNs be examined at least, are statistically valid and should be applied in clinical practice widely.



Back to top


Ampulla of Vater

Morphology, Diagnostics, IHC

Morphology, Diagnostics, IHC


- Metastatic melanoma in the ampulla of Vater

Gastrointestinal endoscopy 2018 Apr;87(4):1156-1158

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=28989008


- Long-term complete remission of a patient with high grade neuroendocrine carcinoma of ampulla of Vater

BMJ case reports 2018 Jun;2018():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29950363

We describe a case report of a 53-year-old man with a 5-months history of progressive jaundice and upper abdominal pain. The patient was further evaluated and finally diagnosed with a high-grade ampullary neuroendocrine tumour (based on endoscopic-guided biopsy). Thereafter, he underwent pancreatoduodenectomy and adjuvant platinum-based chemotherapy. This extremely rare case presents his long-lasting disease-free survival compared with similar cases; this case report exemplifies a new, potentially efficient method for treating high-grade papillary neuroendocrine tumour and may pave the way for further clinical trials utilising this blueprint in the treatment of related conditions.


- Continuing Advancements in Diagnosis and Management of Ampullary Adenoma

The American surgeon 2017 Aug;83(8):e302-304

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=28822368


  • Duodenal Epithelial Polyps

http://www.archivesofpathology.org/doi/pdf/10.5858/arpa.2018-0034-RA


- How to Approach a Patient with Ampullary Lesion

Gastroenterology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30419205


- Microanatomical profiles on the lymphatic system in the human ampulla of Vater (immunohistochemistry and scanning electron microscopy)

Journal of hepato-biliary-pancreatic sciences 2017 Oct;24(10):570-575

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=28846834

BACKGROUND: Little information is available regarding microanatomy of lymphatic system in the ampulla of Vater, though it is of critical importance for an understanding of tumor progression via the lymphatics and determination of surgical strategy. The present study, therefore, aimed to demonstrate the distribution and microanatomical profiles on the lymphatic system in the ampulla. METHODS: The fine distribution and structure of the lymphatic vessels were investigated in the ampulla and the stomach by immunohistochemistry for lymphatic- (D2-40) and blood vascular- (CD31) specific markers and scanning electron microscopy. The densities of lymphatic and blood vessels were also compared. RESULTS: The duodenal papilla densely developed the lymphatics with distinct aspects of lymphatic capillaries, together with blood vessels. The density of lymphatic capillaries in the extramuscular layer in the ampulla was higher than those of both the other ampullary layers and the gastric extramuscular (subserosal) layer. CONCLUSIONS: The ampulla of Vater showed widespread lymphatic capillaries throughout the entire wall. The specific vascular system is suited to produce lymph everywhere and drain without via such a large vessel as lymphatic collector. This suggests that tumor cells invade the lymphatics and metastasize more easily in the ampulla than in the other gastrointestinal regions.


- A Rare Case of Ampullary Goblet Cell Carcinoid

Internal medicine (Tokyo, Japan) 2018 Sep;57(17):2489-2496

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29607953

An asymptomatic 70-year-old woman was referred to our hospital because of liver enzyme elevation. Enhanced abdominal computed tomography demonstrated a small, round-shaped tumor with dilation of the common bile duct and main pancreatic duct. A biopsy specimen from the papilla showed mucin-containing cells that were positive for endocrine markers on immunohistochemical staining. Endoscopic snare resection was done, and there was a positive vertical margin on pathology. Pancreaticoduodenectomy was then performed later. The final diagnosis was goblet cell carcinoid, pT2N0M0, pStage IIA [Union for International Cancer Control (UICC) 7th edition]. Ampullary goblet cell carcinoid is an extremely rare disease of which there have been no recent reports.


- Duodenal tumor risk in Lynch syndrome

Digestive and liver disease : official journal of the Italian Society of Gastroenterology and the Italian Association for the Study of the Liver 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30448460

BACKGROUND AND AIMS: Lynch syndrome (LS) is associated with an increased risk of small bowel tumors but routine screening is not recommended in international guidelines. The aim of our study was to determinate the prevalence of duodenal tumors in a French cohort of LS patients. METHODS: Patients carrying a germline pathogenic variant in a MMR gene, supported by our local network, in which at least one upper endoscopy had been performed, were included. We registered the occurrence of duodenal lesions in those patients. RESULTS: 154 LS patients were identified including respectively 85 MSH2 and 41 MLH1 mutated patients respectively. Seven out of 154 (4.5%) had at least one duodenal lesion. Median age at diagnosis was 58 years (range: 49-73). The twelve lesions locations were: descending duodenum (n = 7), genu inferius (n = 2), duodenal bulb (n = 1), ampulla (n = 1), fourth duodenum (n = 1). Three lesions were invasive adenocarcinomas. The incidence rate of duodenal lesions in patients with MSH2 or MLH1 pathogenic variants was respectively 7.1% (6 out of 85) and 2.4% (1 out of 41) emphasizing a trend toward increased risk of developing duodenal lesion in MSH2 mutated patients: OR: 5.17, IC95% (0.8-60.07), p = 0.1307. CONCLUSION: Regarding this high prevalence rate, especially in MSH2 patients, regular duodenal screening during upper endoscopy should be considered in routine in LS patients.


  • Ampulla of Vater carcinoma: Molecular landscape and clinical implications

https://www.wjgnet.com/1948-5204/full/v10/i11/370.htm


Back to top


Staging

Ampulla of Vater TNM staging, Margins, Survival


- Perineural Invasion is a Strong Prognostic Moderator in Ampulla of Vater Carcinoma: A Meta-analysis

Pancreas 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30451797

OBJECTIVE: Ampulla of Vater carcinoma (AVC) has a broad spectrum of different prognoses. As such, new moderators of survival are urgently needed. We aimed at clarifying the prognostic role of perineural invasion in AVC. METHODS: Using PubMed and SCOPUS databases, we conducted the first systematic review and meta-analysis on this topic. RESULTS: Analyzing 29 articles for a total of 2379 patients, we found that the presence of perineural invasion increased the risk of all-cause mortality of more than 2 times (relative risk [RR], 2.07; 95% confidence interval [CI], 1.78-2.42 [P < 0.0001]; hazard ratio [HR], 2.72; 95% CI, 1.86-3.97 [P < 0.0001]), of cancer-specific mortality of more than 6 times (RR, 6.12; 95% CI, 3.25-11.54 [P < 0.0001]; HR, 6.59; 95% CI, 2.29-3.49 [P < 0.0001]), and of recurrence of more than 2 times (RR, 2.63; 95% CI, 1.89-3.67 [P < 0.0001]; HR, 2.54; 95% CI, 1.24-5.21 [P = 0.01]). CONCLUSIONS: Perineural invasion is strongly associated with a poorer prognosis in AVC, influencing both survival and risk of recurrence. It should be reported in the final pathology report and should be taken into account by future oncologic staging systems, identifying a group of AVC with a more malignant biological behavior.



- Validation of the eighth edition of the American Joint Committee on Cancer staging system for ampulla of Vater cancer

Surgery 2018 05;163(5):1071-1079

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29452703

BACKGROUND: The American Joint Committee on Cancer recently proposed the eighth edition of cancer staging system. Validation studies are required to evaluate the prognostic stratification of ampulla of Vater cancer patients. METHODS: In the study, 369 operatively resected patients with ampullary cancers were grouped based on the eighth T (T1a, limited to sphincter of Oddi; T1b, invasion to duodenal submucosa; T2, invasion to duodenal proper muscle; T3a, invasion to pancreas ≤0.5 cm; T3b, invasion to pancreas >0.5 cm; and T4, involvement of celiac axis or superior mesenteric artery) and N (N0, no nodal metastasis; N1, 1-3 nodal metastasis; and N2, ≥4 nodal metastasis) category of ampullary cancer staging. RESULTS: Overall 5-year survival rates for T and N categories were as followed: T1a, 83%; T1b, 71%; T2, 46%; T3a, 48%; T3b, 28.5%, T4, 7% (P< .001); N0, 44.8%; N1, 20%; N2, 4% (P < .001). Pair-wise comparisons demonstrated significant differences between T1a-b (P = .005), T3a-T3b (P = .03), N0-N1 (P < .001), and N1-N2 (P = .007) tumors, but not between T1b-T2 (P = .20), T2-T3a (P = .84), and T3b-T4 (P = .17) lesions. CONCLUSION: The eighth edition T category for ampullary cancer does not stratify patients accurately with regard to prognosis. Modification of the current T category with eliminating subcategories (T1, invasion to duodenal submucosa; T2, invasion to duodenal proper muscle; T3, invasion to pancreas or duodenal subserosa) is a better way for determining prognosis of ampullary cancer. The current N category segregates patient survival well.


  • Prognostic role of metastatic lymph node number and lymph node ratio in ampullary adenocarcinoma

http://cancer-research-frontiers.org/wp-content/uploads/2018/10/CRF-1833-4-1.pdf

https://www.researchgate.net/publication/328235099_Prognostic_role_of_metastatic_lymph_node_number_and_lymph_node_ratio_in_ampullary_adenocarcinoma


  • Perineural Invasion is a Strong Prognostic Moderator in Ampulla of Vater Carcinoma A Meta-analysis

https://journals.lww.com/pancreasjournal/Abstract/publishahead/Perineural_Invasion_is_a_Strong_Prognostic.98501.aspx


Back to top



Neuroendocrine

PanNet

PanNET, Pancreatic Neuroendocrine Tumors and related neuroendocrine neoplasms


- Comparison of Monitor-Image and Printout-Image Methods in Ki-67 Scoring of Gastroenteropancreatic Neuroendocrine Tumors

Endocrine pathology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30367334

Gastroenteropancreatic neuroendocrine tumors (GEP-NET) are classified according to tumor grade. Ki-67 and mitotic count are the two determinants of this classification. Therefore, Ki-67 scoring becomes very important in classifying the patients accurately. Eye-balling, counting of cells through the microscope, automated image analysis systems, and manual counting of printed image are the four major scoring methods in use. The aim of this study is to show the agreement between monitor-image method (MIM) and printout-image method (PIM) of Ki-67 scoring. In our study, 120 GEP-NETs from 85 patients diagnosed between January 2005 and July 2017 were evaluated. Thirty-seven cases with either polypectomy or resection material were selected. Seven different scoring methods using either a monitor-image or a printout-image were applied for Ki-67 scoring. They are as follows: whole-PIM, 1/9-PIM, whole-MIM, 1/4-MIM, 1/6-MIM, 1/9-MIM, and 1/12-MIM. In the comparison of Ki-67 scoring methods, intraclass correlation coefficients ranging from 0.951 to 0.999 were found. The Bland-Altman analysis showed near-perfect agreement between whole-MIM and whole-PIM as well as 1/9-MIM and 1/9-PIM. The level of agreements among the other methods were sufficient too, but there was a relative decrease in the level of agreement as the area of counting becomes smaller. The average application time decreased from 373.7 to 41.7 s gradually as the scoring area becomes smaller. Our study shows that there is a remarkable agreement between the MIM and PIM used in Ki-67 scoring.


- Pancreatic VIPomas from China: Case reports and literature review

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30391116

Vasoactive intestinal polypeptide-secreting tumors (VIPomas) are rare neuroendocrine tumors that often present as watery diarrhea, hypokalemia, and achlorhydria or hypochlorhydria. In this study, we present our institutional experience of diagnosis and treatment of VIPomas, along with a review of the Chinese literature since 1980. Patient #1, diagnosed in 1984 and with intact clinical records, shows the natural history of this disease. Patient #2, diagnosed in 2015, shows the results of evaluation by nuclear medicine techniques and the outcomes of standardized treatment. Comprehensive review of 41 cases allows evaluation of clinical characteristics, treatments and outcomes of pancreatic VIPoma patients. All patients presented with watery diarrhea. The average stool volume reached 3247 mL per day. Average serum VIP level was 839.3 ng/L. Twelve of the 41 cases were reported to have metastases at diagnosis. Somatostatin receptor scintigraphy and 18FDG PET-CT are efficient methods for detection of VIPoma. Surgical excision can promptly alleviate hormonal symptoms.


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


  • Incidentally detected pancreatic neuroendocrine microadenoma with lymph node metastasis

https://link.springer.com/article/10.1007/s00428-018-2407-0


  • Comparison of Monitor-Image and Printout-Image Methods in Ki-67 Scoring of Gastroenteropancreatic Neuroendocrine Tumors

https://link.springer.com/article/10.1007/s12022-018-9554-3


- Immunohistochemical Biomarkers of Gastrointestinal, Pancreatic, Pulmonary, and Thymic Neuroendocrine Neoplasms

Endocrine pathology 2018 Jun;29(2):150-168

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29520563

Neuroendocrine neoplasms (NENs) are a heterogeneous group of epithelial neoplastic proliferations that irrespective of their primary site share features of neural and endocrine differentiation including the presence of secretory granules, synaptic-like vesicles, and the ability to produce amine and/or peptide hormones. NENs encompass a wide spectrum of neoplasms ranging from well-differentiated indolent tumors to highly aggressive poorly differentiated neuroendocrine carcinomas. Most cases arise in the digestive system and in thoracic organs, i.e., the lung and thymus. A correct diagnostic approach is crucial for the management of patients with both digestive and thoracic NENs, because their high clinical and biological heterogeneity is related to their prognosis and response to therapy. In this context, immunohistochemistry represents an indispensable diagnostic tool that pathologists need to use for the correct diagnosis and classification of such neoplasms. In addition, immunohistochemistry is also useful in identifying prognostic and theranostic markers. In the present article, the authors will review the role of immunohistochemistry in the routine workup of digestive and thoracic NENs.


  • Increased incidence trend of low-grade and high-grade neuroendocrine neoplasms

https://cyberleninka.org/article/n/1491696


  • Well differentiated neuroendocrine tumors, a single center experience

https://www.sciencedirect.com/science/article/pii/S2452336418300566


  • DAXX Mutation Status of Embolization-Treated Neuroendocrine Tumors Predicts Shorter Time to Hepatic Progression

https://www.sciencedirect.com/science/article/pii/S1051044318312491


  • The use of Ki-67 labeling index to grade pulmonary well-differentiated neuroendocrine neoplasms: current best evidence

https://www.nature.com/articles/s41379-018-0076-9


  • COMPETITIVE TESTING THE WHO 2010 VS THE WHO 2017 GRADING OF PANCREAS NEUROENDOCRINE NEOPLASIA: DATA FROM A LARGE INTERNATIONAL COHORT STUDY

https://www.researchgate.net/publication/328199727_COMPETITIVE_TESTING_THE_WHO_2010_VS_THE_WHO_2017_GRADING_OF_PANCREAS_NEUROENDOCRINE_NEOPLASIA_DATA_FROM_A_LARGE_INTERNATIONAL_COHORT_STUDY

https://www.karger.com/Article/Abstract/494355


  • Ki-67 and presence of liver metastases identify different progression-risk classes in pancreatic neuroendocrine neoplasms (pNEN) undergoing resection

https://www.ejso.com/article/S0748-7983(18)31452-5/fulltext


  • Gastroenteropancreatic Neuroendocrine Tumors

https://onlinelibrary.wiley.com/doi/pdf/10.3322/caac.21493


  • Imaging presentation of pancreatic neuroendocrine neoplasms

https://link.springer.com/article/10.1007/s13244-018-0658-6


  • Case Report: Can a high-grade neuroendocrine carcinoma be functional?

https://www.sciencedirect.com/science/article/abs/pii/S0002962918304142


  • Association between preoperative Vasostatin-1 and pathological features of aggressiveness in localized nonfunctioning pancreatic neuroendocrine tumors (NF-PanNET)

https://www.sciencedirect.com/science/article/pii/S142439031830752X


  • Limited role of Chromogranin A as clinical biomarker for pancreatic neuroendocrine tumors

https://www.sciencedirect.com/science/article/abs/pii/S1365182X18344666


- High Minichromosome maintenance protein 7 proliferation indices: a powerful predictor of progression in pancreatic neuroendocrine neoplasms without distant metastasis at the time of surgery

Human pathology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30447299

Pancreatic neuroendocrine neoplasms (PanNENs) have an unpredictable clinical course that varies from indolent to highly malignant. No immunohistochemical markers are available for reliable prediction of the biological behavior of early-stage PanNENs. Minichromosome maintenance protein 7 (MCM7) is a putative powerful marker of cell proliferation. Whether the expression of MCM7 is related to the risk of PanNENs progression remains unclear. We assessed the clinical behavior of 156 PanNENs with respect to stage, grade, Ki-67 index, MCM7 index, and other pathologic features. A high MCM7 index was significantly associated with larger tumor size (P<.001), nonfunctioning tumor (P<.001), increased grade (P<.0001), and later TNM stage (P<.001). In multivariate analysis, G2/G3 (hazard ratio (HR), 2.21; 95% confidence interval (CI), 1.35-3.62; P<.001), stage III/IV (HR, 2.11; 95% CI, 1.31-3.41; P<.001), and MCM7 labeling index (LI)>5% (HR, 3.81; 95% CI, 1.30-11.17; P=.02) were independent negative prognostic factors related to the risk of tumor progression in stage I-IV disease. MCM7 LI>5% was associated with an increased risk of progression in stages I-V, I-III, and I-II. Our study confirms that MCM7 is a valuable marker for assessing the progression of PanNENs, especially in patients with early-stage disease and without distant metastasis.


- Endoscopic Resection of Duodenal Carcinoid Tumors: A Single-Center Comparison Between Simple Polypectomy and Endoscopic Mucosal Resection

Pancreas 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30451799

OBJECTIVES: Endoscopic resection is preferred for duodenal carcinoids less than 20 mm; however, the efficacy of simple polypectomy has not been compared with advanced endoscopic resection techniques. METHODS: We performed a retrospective review of 33 patients who underwent endoscopic duodenal carcinoid resection (10 simple, 23 endoscopic mucosal resection) at the Hospital of the University of Pennsylvania between January 1, 2006, and June 15, 2017. The primary outcomes were resection margin positivity and local tumor recurrence. RESULTS: There were no significant differences in demographics or tumor functionality. Lesions managed with simple polypectomy had smaller median gross specimen size (6.0 mm vs 8.0 mm, P = 0.043). There was no significant difference in pathology resection margins between simple polypectomy and endoscopic mucosal resection (86% vs 68% positive, P = 0.64). Local recurrence on surveillance endoscopy was also similar (14.3% vs 17.7%, respectively; P = 1.000), with median time to recurrence 2.3 months (interquartile range, 1.2-5.4 months). The median follow-up time in patients without local recurrence was 21.4 months (interquartile range, 7.1-39.6 months). CONCLUSIONS: Simple polypectomy may be adequate treatment of small duodenal carcinoids, although further studies are needed for validation and to define the upper limits of tumor size that can be managed with this technique.


- Proinsulin Expressing Neuroendocrine Tumors of the Pancreas: An Underrecognized Entity

Pancreas 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30451800

OBJECTIVES: Rare cases of pancreatic neuroendocrine tumors (PNETs) that produce only proinsulin (PI) and manifest with hypoglycemia have been reported. Proinsulin expression in PNET has not been systematically studied, and the clinicopathologic features of such tumors remain unknown. METHODS: We studied expression of PI by immunohistochemistry (IHC) in 136 PNETs from 2 high-volume surgical oncology centers and assessed all available clinicopathologic data. RESULTS: Thirty-six (26%) of PNETs were positive for PI by IHC, most (89%) of which coexpressed insulin IHC. Nine PI-positive tumors represented functional insulinomas. Patients with PI IHC-positive tumors demonstrated significantly lower mean preoperative serum glucose compared with PI-negative PNET patients, even when insulinomas were excluded. No differences in survival between PI IHC-positive and PI IHC-negative tumors were observed. We identified 2 PI-positive PNETs from hypoglycemic patients, which were not insulinomas or other functional variants and in which serum PI was never tested. These may have been undetected proinsulinomas. CONCLUSIONS: Proinsulin-expressing PNETs (functional or non) are not uncommon. Patients who present with hypoglycemia and normal insulin levels should be screened for proinsulinoma. Proinsulin IHC could also be used to screen for proinsulinoma. To further elucidate the clinical significance of PI expressing PNETs, prospective studies are required.


  • High Minichromosome maintenance protein 7 proliferation indices: a powerful predictor of progression in pancreatic neuroendocrine neoplasms without distant metastasis at the time of surgery

https://www.sciencedirect.com/science/article/pii/S0046817718304258


- ASO Author Reflections: Redefining the Ki-67 Index Stratification for Low-Grade Pancreatic Neuroendocrine Tumors

Annals of surgical oncology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30456670


- Neuroendocrine Liver Metastasis-a Specific Set of Markers to Detect Primary Tumor Sites

Endocrine pathology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30456697

The diagnosis of neuroendocrine neoplasia (NEN) is often made at an advanced stage of disease, including hepatic metastasis. At this point, the primary may still be unknown and sometimes cannot even be detected by functional imaging, especially in very small tumors of the pancreas (pan) and small intestinal (si) entities. The site of the primary may be based on biopsy specimens of the liver applying a specific set of markers. Specimens of liver metastases from 87 patients with NENs were studied. In retrospect, 50 patients had si and 37 pan NENs. Tissue samples were evaluated by immunohistochemistry. The markers applied were insulin gene enhancer protein Islet-1 (ISL-1), homeobox protein CDX-2 (CDX2), thyroid transcription factor 1 (TTF-1), and serotonin. Positive stains for CDX2 were documented in 43 (86%) and for serotonin in 45 (90%) of 50 siNENs. Three panNENs were positive for CDX2 and one for serotonin, respectively. ISL-1 was negative throughout in siNENs and also negative in 8 of 50 panNENs (21.6%). TTF-1 was negative in more than 90% of the specimens of either entity. Immunohistochemical markers in liver metastasis can lead the way to the site of the primary NEN. They should always be used in combined clusters.


  • Neuroendocrine Liver Metastasis—a Specific Set of Markers to Detect Primary Tumor Sites

https://link.springer.com/article/10.1007/s12022-018-9558-z


Back to top


Microenvironment

Neuroendocrine Tumor Stroma Interactions, Microenvironment, Inflammatory Response


  • The epithelial-mesenchymal transition induces aggressivity of mucinous cystic neoplasm of the pancreas with neuroendocrine component: an immunohistochemistry study

https://www.sciencedirect.com/science/article/pii/S034403381831077X


Back to top


Neuroendocrine Techniques & Research Methods


  • Usefulness of indocyanine green‐fluorescence imaging for real‐time visualization of pancreas neuroendocrine tumor and cystic neoplasm

https://onlinelibrary.wiley.com/doi/10.1002/jso.25231


Back to top


Cytopathology


Pancreas


  • Abnormal Immunolabeling of SMAD4 in Cell Block Specimens Distinguish Malignant and Benign Pancreatic Cells

https://onlinelibrary.wiley.com/doi/abs/10.1111/cyt.12653


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


  • EUS-Guided Enhanced Imaging and Sampling of Neoplastic Pancreatic Cysts

https://link.springer.com/chapter/10.1007/978-3-319-97376-0_12


  • Pancreatic mixed acinar‐neuroendocrine carcinoma, a unique diagnostic challenge on FNA cytology: A small series of two cases with literature review

https://onlinelibrary.wiley.com/doi/abs/10.1002/dc.23981


  • Histologic retrieval rate of a newly designed side-bevelled 20G needle for EUS-guided tissue acquisition of solid pancreatic lesions

http://journals.sagepub.com/doi/pdf/10.1177/2050640618804443


  • Pancreaticobiliary cytopathology: an update

https://www.sciencedirect.com/science/article/pii/S1756231718301397


  • Reclassification of lesions in biopsies by fine-needle aspiration of pancreas and biliary tree using Papanicolaou classification

http://jgo.amegroups.com/article/view/22469/html


- Abnormal Immunolabeling of SMAD4 in Cell Block Specimens Distinguish Malignant and Benign Pancreatic Cells

Cytopathology : official journal of the British Society for Clinical Cytology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30421464

BACKGROUND: Accurate diagnosis of malignant and benign pancreatic lesions can be challenging, especially in case of endoscopic ultrasound-guided fine-needle aspiration (EUS-FNA) samples that are small and/or degraded. In the present study, we determined how to best evaluate abnormal SMAD4 expression by immunohistochemical staining on cell-block specimens from EUS-FNA samples. RESULTS: In surgically resected pancreas, when abnormal SMAD4 immunolabeling was evaluated as negative SMAD4 expression, the sensitivity was low (33%), but when it was evaluated as decreased SMAD4 expression, the sensitivity improved (53%). Specificity and positive predictive value were high for both evaluations. There were no false positive cases. In cell-block specimens, decreased SMAD4 expression showed 47% sensitivity and 72% specificity, while negative SMAD4 expression showed lower sensitivity (20%) and higher specificity (100%). Both evaluations in cell-block specimens showed lower sensitivity and specificity compared to the case for resected specimens. False positive and negative rates were higher for cell blocks than for resected specimens. CONCLUSIONS: Decreased SMAD4 immunolabeling provided improved sensitivity as compared to negative SMAD4 immunolabeling; therefore, it is important to compare SMAD4 expression in a sample to its expression in normal cells. Abnormal SMAD4 labeling showed low sensitivity and high specificity; therefore, SMAD4 staining using EUS-FNA samples might be helpful to detect malignancies that possess SMAD4 gene abnormalities. This article is protected by copyright. All rights reserved.


  • Rationale and feasibility of mucin expression profiling by qRT-PCR as diagnostic biomarkers in cytology specimens of pancreatic cancer

https://www.sciencedirect.com/science/article/pii/S1424390318306859


Back to top


Bile Ducts


Back to top


Gallbladder


- Mucinous adenocarcinoma of gallbladder: Subcategorisation on fine-needle aspiration cytology

Diagnostic cytopathology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30375181

BACKGROUND: Mucinous adenocarcinoma (MC) of gallbladder is a rare histological subtype of gallbladder carcinoma (CaGB) which presents at an advanced stage and is associated with a poor prognosis compared to the conventional CaGB. This variant has been described mostly as reports or series, except for a single detailed histological and immunohistochemical analysis. Till date, there are no studies describing the cytomorphology of MC in detail. Hence, we undertook this study to analyse the cytomorphological features of MC. METHODS: A retrospective cytomorphological analysis was performed on MC identified out of all CaGB diagnosed on cytology over a period of last 4 years. The architectural and cellular features were recorded in a structured proforma. RESULTS: Thirty-three cases (33/987, 3.3%) were identified as MC. Extracellular mucin >90% was seen only in 3 cases whereas the remaining 30 had 50%-90% mucin. The predominant architectural pattern was tight epithelial fragments (14/33). The tumour cells were mostly of intermediate size (31/33) and had moderate amount of cytoplasm (31/33). Majority of the cases showed moderate nuclear pleomorphism (28/33) and nuclear chromatin was fine granular (17/33) or vesicular (14/33). Most of the cases had single and small nucleoli (26/33). Presence of inflammation composed predominantly of polymorphs was noted in 25 cases. Majority of the cases showed no (15/33) or scant necrosis (13/33). CONCLUSION: The morphological features of MC can very well be demonstrated on cytology. As they are associated with poor prognosis compared to conventional CaGB, cytopathologists should try to document the subtype.



Back to top


Ampulla of Vater


Back to top


Neuroendocrine


- ****

  • ;():*

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=


  • Accuracy of Grading Pancreatic Neuroendocrine Neoplasms with Ki‐67 Index in Fine‐Needle Aspiration Cellblock Material

https://onlinelibrary.wiley.com/doi/10.1111/cyt.12643


Back to top


Molecular Pathology


Pancreas


  • TP63-Mediated Enhancer Reprogramming Drives the Squamous Subtype of Pancreatic Ductal Adenocarcinoma

https://www.sciencedirect.com/science/article/pii/S2211124718316401


- Rab14 overexpression regulates gemcitabine sensitivity through regulation of Bcl-2 and mitochondrial function in pancreatic cancer

Virchows Archiv : an international journal of pathology 2018 Sep;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30267303

Rab family protein Rab14 has been implicated in the development of human cancers. To date, its expression pattern, biological function, and potential mechanism in pancreatic cancer have not been explored. In this study, we analyzed Rab14 expression in 103 cases of pancreatic cancer tissues using immunohistochemistry (IHC) and found that Rab14 was overexpressed in 41/103 cases (39.8%). Rab14 overexpression correlated with the advanced stage. Moreover, elevated Rab14 levels indicated poor prognosis of patients with pancreatic cancers. We used BxPC-3 and Capan-2 respectively for plasmid and siRNA transfection. MTT and colony formation assays showed that Rab14 transfection increased cell proliferation and colony formation in BxPC-3 cells. Rab14 siRNA knockdown inhibits proliferation and colony formation ability in Capan-2 cell line. Cell cycle analysis showed that Rab14 facilitated cell cycle progression. Matrigel invasion assay showed that Rab14 promoted BxPC-3 cell invasion while its depletion inhibited Capan-2 cell invasion. In addition, MTT and AnnexinV/PI analysis demonstrated that overexpression of Rab14 reduced gemcitabine sensitivity which conversely was increased by Rab14 knockdown. We also demonstrated that Rab14 upregulated mitochondrial membrane potential (MMP) while its depletion downregulated MMP during gemcitabine treatment. In addition, western blotting revealed that Rab14 overexpression upregulated cyclin D1, cyclin A, cyclin E, p-Rb, and Bcl-2 and downregulated p21. Rab14 also downregulated caspase3, PARP cleavage, and cytochrome c release. In conclusion, our data indicated that Rab14 was overexpressed in pancreatic cancer and promotes growth and gemcitabine resistance, possibly through regulation of mitochondrial function and Bcl-2.


- Mast cells and angiogenesis in pancreatic ductal adenocarcinoma

Clinical and experimental medicine 2018 Aug;18(3):319-323

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29492715

Mast cells are recognized as critical components of the tumor stromal microenvironment in several solid and hematological malignancies, promoting angiogenesis and tumor growth. A correlation between mast cells infiltration, angiogenesis and tumor progression has been reported for pancreatic ductal adenocarcinoma as well. Mast cells contribute to the aggressiveness of the pancreatic ductal carcinoma enhancing the expression of several pro-angiogenic factors such as vascular endothelial growth factor, fibroblast growth factor-2, platelet-derived growth factor and angiopoietin-1 as well as stimulating the pancreatic cancer cells proliferation by IL-13 and tryptase. The disruption of this pro-angiogenic and proliferative stimulation by inhibiting the mast cells migration and degranulation is under investigation as a potential therapeutic approach in pancreatic ductal adenocarcinoma patients. This review will summarize the literature concerning the mast cells infiltration in the pancreatic ductal adenocarcinoma analyzing its role in angiogenesis and tumor progression.


- Identification of a 5‑microRNA signature and hub miRNA‑mRNA interactions associated with pancreatic cancer

Oncology reports 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30365134

miRNA‑gene axes have been reported to serve an important role in the carcinogenesis of pancreatic cancer (PC). The aim of the present study was to systematically identity the microRNA signature and hub molecules, as well as hub miRNA‑gene axes, and to explore the potential biomarkers and mechanisms associated with the carcinogenesis of PC. Eleven microRNA profile datasets were obtained from the National Center for Biotechnology Information (NCBI) Gene Expression Omnibus (GEO) and ArrayExpress databases, and a meta‑analysis was performed to identify the differentially expressed miRNAs (DEMs) between tumor tissue and normal tissue. Subsequently, a diagnostic regression model was constructed to identify PC based on The Cancer Genome Atlas (TCGA) miRNA sequence data by using the least absolute shrinkage and selection operator (LASSO) method. In addition, GSE41368 was downloaded, and a weighted gene co‑expression network analysis (WGCNA) was performed to obtain the gene module associated with carcinogenesis by using the TCGAbiolinks and WGCNA packages, respectively. Finally, miRNA‑gene networks were constructed and visualized using Cytoscape software, followed by Gene Ontology (GO) and Kyoto Encyclopedia of Genes and Genomes (KEGG) analyses based on the Database for Annotation, Visualization, and Integrated Discovery (DAVID). A total of 14 DEMs were identified, and a 5‑microRNA‑based score generated by the LASSO regression model provided a high accuracy for identifying PC [area under the curve (AUC)=0.918]. In addition, 44 miRNA‑mRNA interactions were constructed, and 4 hub genes were screened on the basis of the above bioinformatic tools and databases. Furthermore, 14 biological process (BP) functions and 6 KEGG pathways were identified according to gene set enrichment analysis (GSEA). In summary, the present study applied integrated bioinformatics approaches to generate a holistic view of PC, thereby providing a basis for further clinical application of the 5‑miRNA signature and the identified hub molecules, as well as the miRNA‑gene axes, which could serve as diagnostic markers and potential treatment targets.


  • Assessing The Predictive Value Of Regulatory Molecules For Patient Outcome In Pancreatic Cancer: A Computational Approach

https://ieeexplore.ieee.org/abstract/document/8512477


  • Genetic Drivers of Pancreatic Cancer Are Identical Between the Primary Tumor and a Secondary Lesion in a Long-Term (>5 Years) Survivor After a Whipple Procedure

https://www.liebertpub.com/doi/abs/10.1089/pancan.2018.0015


  • Combating pancreatic cancer with PI3K pathway inhibitors in the era of personalised medicine

https://gut.bmj.com/content/early/2018/11/05/gutjnl-2018-316822


  • The role of GLI-SOX2 signaling axis for gemcitabine resistance in pancreatic cancer

https://www.nature.com/articles/s41388-018-0553-0


- The Long Noncoding RNA HOST2 Promotes Gemcitabine Resistance in Human Pancreatic Cancer Cells

Pathology oncology research : POR 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30406400

Our study was aimed to identify the fundamental role of lncRNA HOST2 in gemcitabine resistance regulation in human pancreatic cancer cells. The levels of HOST2 in pancreatic cancer cell lines were measured by quantitative real-time PCR (qRT-PCR). Due to high expression and strong gemcitabine resistance, Hs766T and AsPC-1 cell lines were selected to be knockdown the expression of HOST2 by transfection sh-HOST2. After manipulation of HOST2, the cell proliferation induced by gemcitabine was examined by CCK-8 assay. Next, colony formation ability of Hs766T and AsPC-1 cell lines was determined by clone-forming assay. At last, the relationship between HOST2 and cell apoptosis in Hs766T and AsPC-1 cell lines was evaluated by flow cytometry. QRT-PCR revealed that HOST2 was overexpressed in six pancreas neoplasm cell lines compared with normal cell lines HPDE6-C7. HOST2 expression levels in group resistant to gemcitabine were higher than the group sensitive to gemcitabine. Additionally, CCK-8 assay verified that cell proliferation was inhibited by sh-HOST2 with or without gemcitabine treatment. Furthermore, clone-forming assay revealed that colony formation ability was weakened by down-regulated HOST2 with or without gemcitabine treatment. Flow cytometry revealed that cell apoptosis induced by gemcitabine was promoted by sh-HOST2. In conclusion, down-regulated HOST2 inhibited proliferation and promoted apoptosis of pancreas cancer cells with or without gemcitabine treatment. Thus, HOST2 is a potential therapeutic target for gemcitabine chemoresistance in pancreatic neoplasms.


  • Caveolin-1 Modulates Mechanotransduction Responses to Substrate Stiffness through Actin-Dependent Control of YAP

https://www.sciencedirect.com/science/article/pii/S2211124718316000


  • Genetic dissection of the miR-200–Zeb1 axis reveals its importance in tumor differentiation and invasion

https://www.nature.com/articles/s41467-018-07130-z


  • Rigidity controls human desmoplastic matrix anisotropy to enable pancreatic cancer cell spread via extracellular signal-regulated kinase 2

https://www.sciencedirect.com/science/article/pii/S0945053X18302841


  • Epigenetic Targeting DNMT1 of Pancreatic Ductal Adenocarcinoma using interstitial control release biodegrading polymer reduced tumor growth through Hedgehog pathway inhibition

https://www.sciencedirect.com/science/article/pii/S1043661818306947


  • IL-1-induced JAK/STAT signaling is antagonized by TGF-ß to shape CAF heterogeneity in pancreatic ductal adenocarcinoma

http://cancerdiscovery.aacrjournals.org/content/candisc/early/2018/10/25/2159-8290.CD-18-0710.full.pdf


  • Therapeutic potential of targeting the Wnt/β‐catenin pathway in the treatment of pancreatic cancer

https://onlinelibrary.wiley.com/doi/abs/10.1002/jcb.27835


- Desumoylating Isopeptidase 2 (DESI2) Inhibits Proliferation and Promotes Apoptosis of Pancreatic Cancer Cells through Regulating PI3K/AKT/mTOR Signaling Pathway

Pathology oncology research : POR 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30411297

This study aimed to investigate the effects of desumoylating isopeptidase 2 (DESI2) on tumor cell proliferation, apoptosis and invasion of pancreatic cancer, and to assess the signaling pathway involved. Overexpression and silence of DESI2 were designed and the experiments were divided into 5 groups: a normal control group, an interference control group (shRNA-NC); an interference group (sh-DESI2); an overexpression control group (NC), an overexpression group (DESI2). Quantitative real time polymerase chain reaction (qRT-PCR) was used to screen the appropriate interference sequence. The silencing and overexpression of DESI2 were confirmed by qRT-PCR and western blotting. Cell cycling, apoptosis, invasion, and the expression of phosphatidylinositol-3-kinase (PI3K)-protein kinase B (AKT)-mammalian target of rapamycin (mTOR) pathway and caspase 3 were measured. Overexpression and silence of DESI2 were successfully designed in two pancreatic cancer cells, and the interference effect of sh-DESI2-3 showed the best silencing effects. The biological activities of DESI2 were detected in both ASPC-1 and PANCE-1 cells. Our results showed that cell proliferation was significantly increased in the sh-DESI2 group, while decreased in DESI2 group compared with the control group in both cell lines. In ASPC-1 cells, the events in G1 phase decreased and in S phase increased obviously in the sh-DESI2 group, compared with control group. An opposite result was found when DESI2 was overexpressed. In PANCE-1 cells, the events in G2 phase were higher in the sh-DESI2 group, while in the DESI2 group was significantly lower than that in control group. In ASPC-1 and PANCE-1 cells, sh-DESI2 group showed decreased apoptosis, increased cell invasion and increased expression of AKT, p-Akt, PI3K, p-PI3K, p-mTOR and mTOR and decreased caspase 3 expression compared with the control group, while overexpression of DESI2 leaded to increased apoptosis, decreased cell invasion and reduced expression of AKT, p-Akt, PI3K, p-PI3K, p-mTOR and mTOR and increased expression of caspase 3. DESI2 regulates the proliferation and apoptosis of pancreatic cancer cells through PI3K/AKT/mTOR signaling pathway.


PIN1 maintains redox balance via the c-Myc/NRF2 axis to counteract Kras-induced mitochondrial respiratory injury in pancreatic cancer cells

http://cancerres.aacrjournals.org/content/canres/early/2018/10/24/0008-5472.CAN-18-1968.full.pdf


Disruption of stromal hedgehog signaling initiates RNF5-mediated proteasomal degradation of PTEN and accelerates pancreatic tumor growth

http://www.life-science-alliance.org/content/1/5/e201800190


Subcutaneous Inoculation of 3D Pancreatic Cancer Spheroids Results in Development of Reproducible Stroma-Rich Tumors

https://www.sciencedirect.com/science/article/pii/S1936523318304121


  • Prospective Evaluation of Germline Alterations in Patients With Exocrine Pancreatic Neoplasms

https://academic.oup.com/jnci/article-abstract/110/10/1067/4915401?redirectedFrom=fulltext


  • MicroRNA therapeutics: design of single-stranded miR-216b mimics to target KRAS in pancreatic cancer cells

https://www.tandfonline.com/doi/full/10.1080/15476286.2018.1526536


  • Referral frequency, attrition rate, and outcomes of germline testing in patients with pancreatic adenocarcinoma

https://link.springer.com/article/10.1007/s10689-018-0106-2


  • Metastasis and chemoresistance in CD133 expressing pancreatic cancer cells are dependent on their lipid raft integrity

https://www.sciencedirect.com/science/article/pii/S0304383518305949


  • Response of germline BRCA2-mutated advanced pancreatic acinar cell carcinoma to olaparib

https://journals.lww.com/md-journal/Fulltext/2018/11090/Response_of_germline_BRCA2_mutated_advanced.48.aspx


  • Targeting Purinergic Receptor P2Y2 prevents the growth of pancreatic ductal adenocarcinoma by inhibiting cancer cell glycolysis

http://clincancerres.aacrjournals.org/content/early/2018/11/10/1078-0432.CCR-18-2297?papetoc=


  • SRC-3 Inhibition Blocks Tumor Growth of Pancreatic Ductal Adenocarcinoma

https://www.sciencedirect.com/science/article/pii/S0304383518306761


- Targeting integrin-linked kinase to suppress oncogenic KRAS signaling in pancreatic cancer

Small GTPases 2018 11;9(6):452-456

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=27936345

Although oncogenic KRAS represents a therapeutically relevant target in pancreatic cancer, it is deemed “non-druggable” because of the intrinsic difficulty in designing direct inhibitors of KRAS. Our recent work demonstrated a KRAS-integrin-linked kinase (ILK) regulatory feedback loop that allows pancreatic cancer cells to regulate KRAS expression and to interact with the tumor microenvironment to promote aggressive phenotype. KRAS induces E2F1-mediated transcriptional activation of ILK expression, and ILK, in turn, controls KRAS expression via hnRNPA1, which binds and destabilizes the G-quadruplex in the KRAS promoter. Moreover, ILK inhibition blocked KRAS-driven EMT and growth factor-stimulated KRAS expression. This regulatory loop, however, was not noted in KRAS mutant colorectal and lung cancer cells examined as knockdown of KRAS or ILK did not affect each other’s expression, suggesting that this KRAS-ILK feedback regulation is specific for pancreatic cancer. In sum, this regulatory loop provides a strong mechanistic rationale for suppressing oncogenic KRAS signaling through targeting ILK, and this creating a potential new therapeutic strategy for pancreatic cancer.


- p21-activated kinase signalling in pancreatic cancer: New insights into tumour biology and immune modulation

World journal of gastroenterology 2018 Sep;24(33):3709-3723

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30197477

Pancreatic cancer is one of the most aggressive and lethal malignancies worldwide, with a very poor prognosis and a five-year survival rate less than 8%. This dismal outcome is largely due to delayed diagnosis, early distant dissemination and resistance to conventional chemo-therapies. Kras mutation is a well-defined hallmark of pancreatic cancer, with over 95% of cases harbouring Kras mutations that give rise to constitutively active forms of Kras. As important down-stream effectors of Kras, p21-activated kinases (PAKs) are involved in regulating cell proliferation, apoptosis, invasion/migration and chemo-resistance. Immunotherapy is now emerging as a promising treatment modality in the era of personalized anti-cancer therapeutics. In this review, basic knowledge of PAK structure and regulation is briefly summarised and the pivotal role of PAKs in Kras-driven pancreatic cancer is highlighted in terms of tumour biology and chemo-resistance. Finally, the involvement of PAKs in immune modulation in the tumour microenvironment is discussed and the potential advantages of targeting PAKs are explored.


- Claudin 7 as a possible novel molecular target for the treatment of pancreatic cancer

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30416041

BACKGROUND/OBJECTIVES: Pancreatic cancer consists of various subpopulations of cells, some of which have aggressive proliferative properties. The molecules responsible for the aggressive proliferation of pancreatic cancer may become molecular targets for the therapies against pancreatic cancer. METHODS: From a human pancreatic cancer cell line, MIA PaCa-2, MIA PaCa-2-A cells with an epithelial morphology and MIA PaCa-2-R cells with a non-epithelial morphology were clonogenically isolated by the limiting dilution method. Gene expression of these subpopulations was analyzed by DNA microarray. Gene knockdown was performed using siRNA. RESULTS: Although the MIA PaCa-2-A and MIA PaCa-2-R cells displayed the same DNA short tandem repeat (STR) pattern identical to that of the parental MIA PaCa-2 cells, the MIA PaCa-2-A cells were more proliferative than the MIA PaCa-2-R cells both in culture and in tumor xenografts generated in immunodeficient mice. Furthermore, the MIA PaCa-2-A cells were more resistant to gemcitabine than the MIA PaCa-2-R cells. DNA microarray analysis revealed a high expression of claudin (CLDN) 7 in the MIA PaCa-2-A cells, as opposed to a low expression in the MIA PaCa-2-R cells. The knockdown of CLDN7 in the MIA PaCa-2-A cells induced a marked inhibition of proliferation. The MIA PaCa-2-A cells in which CLDN7 was knocked down exhibited a decreased expression of phosphorylated extracellular signal-regulated kinase (p-Erk)1/2 and G1 cell cycle arrest. CONCLUSIONS: CLDN7 may be expressed in the rapidly proliferating and dominant cell population in human pancreatic cancer tissues and may be a novel molecular target for the treatment of pancreatic cancer.


  • H19 long non-coding RNA contributes to sphere formation and invasion through regulation of CD24 and integrin expression in pancreatic cancer cells

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6205177/


  • Impact of Ethnicity on Somatic Mutation Rates of Pancreatic Adenocarcinoma

http://iv.iiarjournals.org/content/32/6/1527.full


- Integrated whole genome microarray analysis and immunohistochemical assay identifies COL11A1, GJB2 and CTRL as predictive biomarkers for pancreatic cancer

Cancer cell international 2018 ;18():174

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30410422

Background: Pancreatic cancer is characterized by its unsatisfying early detection rate, rapid disease progression and poor prognosis. Further studies on molecular mechanism and novel predictive biomarkers for pancreatic cancer based on a large sample volume are required. Methods: Multiple bioinformatic analysis tools were utilized for identification and characterization of differentially expressed genes (DEGs) from a merged microarray data (100 pancreatic cancer samples and 62 normal samples). Data from the GEO and TCGA database was utilized to validate the diagnostic and prognostic value of the top 5 upregulated/downregulated DEGs. Immunohistochemical assay (46 paired pancreatic and para- cancerous samples) was utilized to validate the expression and prognostic value of COL11A1, GJB2 and CTRL from the identified DEGs. Results: A total number of 300 DEGs were identified from the merged microarray data of 100 pancreatic cancer samples and 62 normal samples. These DEGs were closely correlated with the biological characteristics of pancreatic cancer. The top 5 upregulated/downregulated DEGs showed good individual diagnostic/prognostic value and better combined diagnostic/prognostic value. Validation of COL11A1, GJB2 and CTRL with immunohistochemical assay showed consistent expression level with bioinformatics analysis and promising prognostic value. Conclusions: Merged microarray data with bigger sample volume could reflect the biological characteristics of pancreatic cancer more effectively and accurately. COL11A1, GJB2 and CTRL are novel predictive biomarkers for pancreatic cancer.


- Identification of hub genes with diagnostic values in pancreatic cancer by bioinformatics analyses and supervised learning methods

World journal of surgical oncology 2018 Nov;16(1):223

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30428899

BACKGROUND: Pancreatic cancer is one of the most lethal tumors with poor prognosis, and lacks of effective biomarkers in diagnosis and treatment. The aim of this investigation was to identify hub genes in pancreatic cancer, which would serve as potential biomarkers for cancer diagnosis and therapy in the future. METHODS: Combination of two expression profiles of GSE16515 and GSE22780 from Gene Expression Omnibus (GEO) database was served as training set. Differentially expressed genes (DEGs) with top 25% variance followed by protein-protein interaction (PPI) network were performed to find candidate genes. Then, hub genes were further screened by survival and cox analyses in The Cancer Genome Atlas (TCGA) database. Finally, hub genes were validated in GSE15471 dataset from GEO by supervised learning methods k-nearest neighbor (kNN) and random forest algorithms. RESULTS: After quality control and batch effect elimination of training set, 181 DEGs bearing top 25% variance were identified as candidate genes. Then, two hub genes, MMP7 and ITGA2, correlating with diagnosis and prognosis of pancreatic cancer were screened as hub genes according to above-mentioned bioinformatics methods. Finally, hub genes were demonstrated to successfully differ tumor samples from normal tissues with predictive accuracies reached to 93.59 and 81.31% by using kNN and random forest algorithms, respectively. CONCLUSIONS: All the hub genes were associated with the regulation of tumor microenvironment, which implicated in tumor proliferation, progression, migration, and metastasis. Our results provide a novel prospect for diagnosis and treatment of pancreatic cancer, which may have a further application in clinical.


  • Chemoresistance Transmission via Exosome-Mediated EphA2 Transfer in Pancreatic Cancer

http://www.thno.org/v08p5986.pdf


-SWI/SNF component ARID1A restrains pancreatic neoplasia formation

https://gut.bmj.com/content/early/2018/10/12/gutjnl-2017-315490


  • Small molecule tyrosine kinase inhibitors and pancreatic cancer—Trials and troubles

https://www.sciencedirect.com/science/article/pii/S1044579X18301342


  • Higher notch expression implies poor survival in pancreatic ductal adenocarcinoma: A systematic review and meta-analysis

https://www.sciencedirect.com/science/article/pii/S1424390318306914


  • Combination treatment of advanced pancreatic cancer using novel vaccine and traditional therapies

https://www.tandfonline.com/doi/abs/10.1080/14737140.2018.1531707


  • Glycemic Variability Promotes Both Local Invasion and Metastatic Colonization by Pancreatic Ductal Adenocarcinoma

https://www.researchgate.net/profile/Joerg_Kleeff/publication/326628000_Glycemic_Variability_Promotes_Both_Local_Invasion_and_Metastatic_Colonization_by_Pancreatic_Ductal_Adenocarcinoma/links/5b784be14585151fd11f7713/Glycemic-Variability-Promotes-Both-Local-Invasion-and-Metastatic-Colonization-by-Pancreatic-Ductal-Adenocarcinoma.pdf


  • DYRK1A modulates c-MET in pancreatic ductal adenocarcinoma to drive tumour growth

https://gut.bmj.com/content/early/2018/10/20/gutjnl-2018-316128


  • Identification of hub genes with diagnostic values in pancreatic cancer by bioinformatics analyses and supervised learning methods

https://wjso.biomedcentral.com/articles/10.1186/s12957-018-1519-y


Back to top


Pancreatitis & Other Diseases

Molecular Studies on Pancreatitis & Other Diseases


  • The common truncation variant in pancreatic lipase related protein 2 (PNLIPRP2) is expressed poorly and does not alter risk for chronic pancreatitis

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0206869


Back to top


Molecular Techniques & Research Methods, Liquid Biopsy

Molecular Techniques & Research Methods, Liquid Biopsy


  • ADAM12 is a circulating marker for stromal activation in pancreatic cancer and predicts response to chemotherapy

https://www.nature.com/articles/s41389-018-0096-9


- Plasma miR-181a-5p Downregulation Predicts Response and Improved Survival After FOLFIRINOX in Pancreatic Ductal Adenocarcinoma

Annals of surgery 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30394883

OBJECTIVE: The aim of the study was to identify plasma microRNA (miRNA) biomarkers for stratifying and monitoring patients with locally advanced or metastatic pancreatic ductal adenocarcinoma (PDAC) treated with FOLFIRINOX, and to investigate their functional roles. SUMMARY BACKGROUND DATA: FOLFIRINOX has become a standard therapy for patients with advanced PDAC and can be used to potentially downstage disease. However, only a subset of patients respond, and biomarkers to guide decision-making are urgently needed. METHODS: We used microarray-based profiling to discover deregulated miRNAs in pre- and postchemotherapy plasma samples from patients based on their progression-free survival (PFS) after FOLFIRINOX. Nine candidate plasma miRNAs were validated in an independent cohort (n = 43). The most discriminative plasma miRNA was correlated with clinicopathological factors and survival, and also investigated in an additional cohort treated with gemcitabine plus nab-paclitaxel. Expression patterns were further evaluated in matched tumor tissues. In vitro studies explored its function, key downstream gene-targets, and interaction with 5-fluorouracil, irinotecan, and oxaliplatin. RESULTS: Plasma miR-181a-5p was significantly downregulated in non-progressive patients after FOLFIRINOX. In multivariate analysis, this decline correlated with improved PFS and overall survival, especially when combined with CA19-9 decline [hazard ratio (HR) = 0.153, 95% confidence interval (CI), 0.067-0.347 and HR = 0.201, 95% CI, 0.070-0.576, respectively]. This combination did not correlate with survival in patients treated with gemcitabine plus nab-paclitaxel. Tissue expression of miR-181a-5p reflected plasma levels. Inhibition of miR-181a-5p coupled with oxaliplatin exposure in pancreatic cell lines decreased cell viability. CONCLUSIONS: Plasma miR-181a-5p is a specific biomarker for monitoring FOLFIRINOX response. Decline in plasma miR-181a-5p and CA19-9 levels is associated with better prognosis after FOLFIRINOX and may be useful for guiding therapeutic choices and surgical exploration.This is an open access article distributed under the terms of the Creative Commons Attribution-Non Commercial-No Derivatives License 4.0 (CCBY-NC-ND), where it is permissible to download and share the work provided it is properly cited. The work cannot be changed in any way or used commercially without permission from the journal. http://creativecommons.org/licenses/by-nc-nd/4.0.


  • Liquid biopsy-based biomarkers for early detection of pancreatic cancer

http://pcm.amegroups.com/article/view/4588


Back to top


Molecular Research on Microenvironment

Tumor Stroma Interactions, Microenvironment, Inflammatory Response, Microbiome


  • EZH2-Mediated microRNA-139-5p Regulates Epithelial-Mesenchymal Transition and Lymph Node Metastasis of Pancreatic Cancer

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6182224/


  • The impact of cancer-associated fibroblasts on major hallmarks of pancreatic cancer

http://www.thno.org/v08p5072.pdf


  • HH1-1, a novel Galectin-3 inhibitor, exerts anti-pancreatic cancer activity by blocking Galectin-3/EGFR/AKT/FOXO3 signaling pathway

https://www.sciencedirect.com/science/article/pii/S0144861718311846


  • KRAS RENAISSANCE(S) in Tumor Infiltrating B Cells in Pancreatic Cancer

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6156365/


- Targeting Purinergic Receptor P2Y2 prevents the growth of pancreatic ductal adenocarcinoma by inhibiting cancer cell glycolysis

Clinical cancer research : an official journal of the American Association for Cancer Research 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30420446

PURPOSE: Extensive research has reported that the tumor microenvironment components play crucial roles in tumor progression. Thus, blocking the supports of tumor microenvironment is a promising approach to prevent cancer progression. We aimed to determine whether blocking extracellular ATP-P2RY2 axis could be a potential therapeutic approach for PDAC treatment. EXPERIMENTAL DESIGN: Expression of P2RY2 was determined in 264 human PDAC samples, and correlated to patient survival. P2RY2 was inhibited in human PDAC cell lines by antagonist and shRNA, respectively, and cell viability, clonogenicity and glycolysis were determined. RNA sequencing of PDAC cell line was applied to reveal underlying molecular mechanisms. Multiple PDAC mouse models were used to assess the effects of the P2RY2 inhibition on PDAC progression. RESULTS: P2RY2 was upregulated and associated with poor prognosis in PDAC. Activated P2RY2 by increased extracellular ATP in tumor microenvironment promoted PDAC growth and glycolysis. Further studies showed that the agonist-activated P2RY2 triggered PI3K/AKT-mTOR signaling by crosstalk with PDGFR mediated by Yes1, resulting in elevating expression of c-Myc and HIF1a, which subsequently enhanced cancer cell glycolysis. Genetic and pharmacological inhibition of P2RY2 impaired tumor cell growth in subcutaneous and orthotopic xenograft model, as well as delayed tumor progression in inflammation-driven PDAC model. Additionally, synergy was observed when AR-C118925XX, the selective antagonist of P2RY2 receptor, and gemcitabine were combined, resulting in prolonged survival of xenografted PDAC mice. CONCLUSIONS: These findings revealed the roles of the P2RY2 in PDAC metabolic reprogramming, suggesting that P2RY2 might be a potential metabolic therapeutic target for PDAC.


- The microbiome of pancreatic cancer: from molecular diagnostics to new therapeutic approaches to overcome chemoresistance caused by metabolic inactivation of gemcitabine

Expert review of molecular diagnostics 2018 Nov;():1-5

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30392417

Pancreatic cancer is a complex disease, with an extremely poor response to chemotherapy. Emerging evidence indicates that the tumor microenvironment (TME) might play an important role in mediating chemoresistance. Areas covered: The evaluated study by Geller and collaborators describes several bacterial species within pancreatic tumor tissues and TME and investigated their roles in gemcitabine chemoresistance. Intratumor bacteria express the enzyme cytidine deaminase (CDD), whose long form (CDDL) was shown to metabolize gemcitabine into its inactive metabolite. CDDL is mostly expressed by Gammaproteobacteria and this was among the most common species in pancreatic cancer tissues. Interestingly, mouse models of colorectal cancer injected with bacterial CDDL displayed a reduced response to gemcitabine, but this resistance was neutralized by the antibiotic ciprofloxacin. Expert Commentary: The increased knowledge on the microbiome in pancreatic tissues, as well as its role in chemoresistance, will provide innovative prognostic and therapeutic strategies.


- MicroRNA let-7d targets thrombospondin-1 and inhibits the activation of human pancreatic stellate cells

Pancreatology : official journal of the International Association of Pancreatology (IAP) … [et al.] 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30393009

OBJECTIVES: The microRNA (miRNA) let-7d is linked to the formation of pancreatic cancer-related fibrosis. In this study, the mechanism by which let-7d regulates the activation of the human pancreatic stellate cell (hPSC) was evaluated. METHODS: The transient transfection of a let-7d mimic in the hPSCs was performed, and the altered thrombospondin 1 (THBS1) expression was confirmed by western blotting and real-time qPCR. Targeting of the 3’-untranslated region (UTR) of THBS1 by let-7d was investigated by the luciferase assays. After hPSC transfection using THBS1 siRNA, the fibrosis markers (α-SMA and collagen 1A1) were evaluated by western blotting and real-time qPCR. The correlation between tumor fibrosis and let-7d or THBS1 was estimated using the data from The Cancer Genome Atlas project. Finally, the effects of genistein on the hPSCs were evaluated. RESULTS: We found that a let-7d mimic inhibits THBS1 expression by targeting its 3’-UTR. THBS1 inhibition by siRNA inhibited hPSC activation. An in silico analysis revealed that let-7d and THBS1 expression are negatively correlated. Additionally, let-7d was negatively correlated with the stromal score, while THBS1 was positively correlated with this score. Genistein substantially induced let-7d and decreased the expression of fibrosis marker along with the inhibition of THBS1. CONCLUSIONS: Let-7d inhibited hPSC activation by targeting THBS1. Genistein induced the expression of let-7d and might modulate pancreatic fibrosis.


- GPR68, a proton-sensing GPCR, mediates interaction of cancer-associated fibroblasts and cancer cells

FASEB journal : official publication of the Federation of American Societies for Experimental Biology 2018 03;32(3):1170-1183

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29092903

The microenvironment of pancreatic ductal adenocarcinoma (PDAC) is characterized by a dense fibrotic stroma (desmoplasia) generated by pancreatic cancer-associated fibroblasts (CAFs) derived from pancreatic stellate cells (PSCs) and pancreatic fibroblasts (PFs). Using an unbiased GPCRomic array approach, we identified 82 G-protein-coupled receptors (GPCRs) commonly expressed by CAFs derived from 5 primary PDAC tumors. Compared with PSCs and PFs, CAFs have increased expression of GPR68 (a proton-sensing GPCR), with the results confirmed by immunoblotting, The Cancer Genome Atlas data, and immunohistochemistry of PDAC tumors. Co-culture of PSCs with PDAC cells, or incubation with TNF-α, induced GPR68 expression. GPR68 activation (by decreasing the extracellular pH) enhanced IL-6 expression via a cAMP/PKA/cAMP response element binding protein signaling pathway. Knockdown of GPR68 by short interfering RNA diminished low pH-induced production of IL-6 and enhancement of PDAC cell proliferation by CAF conditioned media. CAFs from other gastrointestinal cancers also express GPR68. PDAC cells thus induce expression by CAFs of GPR68, which senses the acidic microenvironment, thereby increasing production of fibrotic markers and IL-6 and promoting PDAC cell proliferation. CAF-expressed GPR68 is a mediator of low-pH-promoted regulation of the tumor microenvironments, in particular to PDAC cell-CAF interaction and may be a novel therapeutic target for pancreatic and perhaps other types of cancers.-Wiley, S. Z., Sriram, K., Liang, W., Chang, S. E., French, R., McCann, T., Sicklick, J., Nishihara, H., Lowy, A. M., Insel, P. A. GPR68, a proton-sensing GPCR, mediates interaction of cancer-associated fibroblasts and cancer cells.


- E‑cadherin is downregulated by microenvironmental changes in pancreatic cancer and induces EMT

Oncology reports 2018 Sep;40(3):1641-1649

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=29956814

The aim of the present study was to research the effect of microenvironmental change on epithelial‑mesenchymal transition (EMT) in pancreatic cancer cells and to determine the correlation between E‑cadherin expression and the prognosis of pancreatic cancer patients. We established hypoxic, serum‑deficient and TGF‑β‑induced microenvironment models of pancreatic cancer cells and studied the changes in the mRNA and protein expression of EMT‑related molecules, E‑cadherin and vimentin, using western blot analysis and real‑time PCR. Furthermore, immunohistochemistry was used to investigate E‑cadherin expression in pancreatic cancer tissues, and survival analysis and COX regression analysis were conducted. In pancreatic cancer cells under hypoxic, serum‑starved and TGF‑β‑induced microenvironments, E‑cadherin protein and mRNA levels were significantly decreased (P<0.05), while vimentin protein and mRNA expression levels were significantly increased (P<0.05). The results of immunohistochemistry showed that the protein level of E‑cadherin in pancreatic cancer tissues was positively correlated with overall survival (P<0.01). The results of Cox regression analysis showed that E‑cadherin was an independent prognostic factor in pancreatic cancer. In conclusion, E‑cadherin expression was significantly decreased by microenvironment changes, and this decrease induced EMT in pancreatic cancer cells. E‑cadherin is an independent prognostic marker in pancreatic cancer patients.


  • Stromal protein βig-h3 reprogrammes tumour microenvironment in pancreatic cancer

https://gut.bmj.com/content/early/2018/11/10/gutjnl-2018-317570


  • From Friend to Enemy: Dissecting the Functional Alteration of Immunoregulatory Components during Pancreatic Tumorigenesis

https://www.mdpi.com/1422-0067/19/11/3584


Back to top


Preneoplastic and Preinvasive Lesions

Molecular Pathology Preneoplastic and Preinvasive Lesions, PanIN, IPMN, MCN, ICPN


  • Single‐cell sequencing defines genetic heterogeneity in pancreatic cancer precursor lesions

https://onlinelibrary.wiley.com/doi/abs/10.1002/path.5194


- Single-cell sequencing defines genetic heterogeneity in pancreatic cancer precursor lesions

The Journal of pathology 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30430578

Intraductal papillary mucinous neoplasms (IPMNs) are precursors to pancreatic cancer; however, little is known about genetic heterogeneity in these lesions. The objective of this study was to characterize genetic heterogeneity in IPMNs at the single-cell level. We isolated single cells from fresh tissue from ten IPMNs, followed by whole genome amplification and targeted next generation sequencing of pancreatic driver genes. We then determined single-cell genotypes using a novel multi-sample mutation calling algorithm. Our analyses revealed that different mutations in the same driver gene frequently occur in the same IPMN. Two IPMNs had multiple mutations in the initiating driver gene KRAS that occurred in unique tumor clones, suggesting the possibility of polyclonal origin or an unidentified initiating event preceding this critical mutation. Multiple mutations in later-occurring driver genes were also common and were frequently localized to unique tumor clones, raising the possibility of convergent evolution of these genetic events in pancreatic tumorigenesis. Single-cell sequencing of IPMNs demonstrated genetic heterogeneity with respect to early and late occurring driver gene mutations, suggesting a more complex pattern of tumor evolution than previously appreciated in these lesions.


- Single Cell Transcriptomics of Pancreatic Cancer Precursors Demonstrates Epithelial and Microenvironmental Heterogeneity as an Early Event in Neoplastic Progression

Clinical cancer research : an official journal of the American Association for Cancer Research 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30385653

PURPOSE: Early detection of pancreatic ductal adenocarcinoma (PDAC) remains elusive. Precursor lesions of PDAC, specifically, intraductal papillary mucinous neoplasms (IPMNs) represent a bona fide pathway to invasive neoplasia, although the molecular correlates of progression remain to be fully elucidated. Single cell transcriptomics provides a unique avenue for dissecting both the epithelial and microenvironmental heterogeneity that accompany multistep progression from non-invasive IPMNs to PDAC. METHODS: Single cell RNA-sequencing was performed through droplet-based sequencing on 5,403 cells from two low-grade IPMNs (LGD-IPMN), two high-grade IPMNs (HGD-IPMN), and two PDACs (all surgically resected). RESULTS: Analysis of single cell transcriptomes revealed heterogeneous alterations within the epithelium and the tumor microenvironment during the progression of non-invasive dysplasia to invasive cancer. While HGD-IPMNs expressed many core-signaling pathways described in PDAC, LGD-IPMNs harbored subsets of single cells with a transcriptomic profile that overlapped with invasive cancer. Notably, a pro-inflammatory immune component was readily seen in low-grade IPMNs, comprised of cytotoxic T-cells, activated T-helper cells, and dendritic cells, which was progressively depleted during neoplastic progression, accompanied by infiltration of myeloid-derived suppressor cells. Finally, stromal myofibroblast populations were heterogeneous, and acquired a previously described tumor-promoting and immune-evading phenotype during invasive carcinogenesis. CONCLUSIONS: This study demonstrates the ability to perform high resolution profiling of the transcriptomic changes that occur during multistep progression of cystic PDAC precursors to cancer. Notably, single cell analysis provides an unparalleled insight into both the epithelial and microenvironmental heterogeneity that accompany early cancer pathogenesis, and might be a useful substrate to identify targets for cancer interception.


  • Single‐cell sequencing defines genetic heterogeneity in pancreatic cancer precursor lesions

https://onlinelibrary.wiley.com/doi/abs/10.1002/path.5194?af=R&


Back to top


SPN

Solid Pseudopapillary Neoplasm


  • Molecular alterations associated with metastases of solid pseudopapillary neoplasms of the pancreas

https://onlinelibrary.wiley.com/doi/abs/10.1002/path.5180


- Molecular alterations associated with metastases of solid pseudopapillary neoplasms of the pancreas

The Journal of pathology 2018 Oct;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30306561

Solid pseudopapillary neoplasms (SPN) of the pancreas are rare, low-grade malignant neoplasms that metastasise to the liver or peritoneum in 10-15% of cases. They almost invariably present somatic activating mutations of CTNNB1. No comprehensive molecular characterization of metastatic disease has been conducted to date. We performed whole-exome sequencing and copy-number variation (CNV) analysis of 10 primary SPN and comparative sequencing of 5 matched primary/metastatic tumour specimens by high-coverage targeted sequencing of 409 genes. In addition to CTNNB1 activating mutations, we found inactivating mutations of epigenetic regulators (KDM6A, TET1, BAP1) associated with metastatic disease. Most of these alterations were shared between primary and metastatic lesions suggesting that they occurred before dissemination. Differently from mutations, the majority of CNVs were not shared among lesions from the same patients and affected genes involved in metabolic and pro-proliferative pathways. Immunostaining of 27 SPNs showed that loss or reduction of KDM6A and BAP1 expression were significantly enriched in metastatic SPNs. Consistent with an increased transcriptional response to hypoxia in pancreatic adenocarcinomas bearing KDM6A inactivation, we showed that mutation or reduced KDM6A expression in SPNs is associated with increased expression of the HIF1α-regulated protein GLUT1 at both primary and metastatic sites. Our results suggest that BAP1 and KDM6A function is a barrier to the development of metastasis in a subset of SNPs, which might open novel avenues for the treatment of this disease.



Back to top


Bile Ducts


  • Recurrent Mutations in APC and CTNNB1 and Activated Wnt/β-catenin Signaling in Intraductal Papillary Neoplasms of the Bile Duct A Whole Exome Sequencing Study

https://journals.lww.com/ajsp/Abstract/2018/12000/Recurrent_Mutations_in_APC_and_CTNNB1_and.11.aspx


- Comprehensive analysis of long noncoding RNA-associated competing endogenous RNA network in cholangiocarcinoma

Biochemical and biophysical research communications 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30404735

BACKGROUND: Long non-coding RNAs (lncRNAs) can interact with microRNAs (miRNAs) as a competing endogenous RNA (ceRNA) to regulate the expression of target genes, which can largely influence on tumorigenesis and tumor progression. However, the role of lncRNA-mediated ceRNAs in cholangiocarcinoma (CCA) remains unknown. This study aimed to develop novel lncRNAs as well as their action mechanisms in CCA. METHODS: The expression profiles of lncRNAs, miRNAs, and mRNAs of 36 CCA tissues and 9 non-tumor bile duct tissues were obtained from The Cancer Genome Atlas (TCGA) database. The differentially expressed RNAs werre identified using the DESeq package in R. The ceRNA network was constructed in CCA based on bioinformatics generated from miRcode, miRTarBase, miRDB, and TargetScan. Gene Ontology (GO) and Kyoto Encyclopedia of Genes and Genomes (KEGG) analyses were performed using “DAVID 6.8” and R packages “Clusterprofile”. Survival analysis was performed based on Kaplan-Meier curve analysis. RESULTS: We identified a total of 1411 differentially expressed lncRNAs, 3494 mRNAs, and 64 miRNAs between CCA and matched normal tissues. By combining the data predicted by databases with intersection RNAs, a lncRNA-miRNA-mRNA ceRNA network consisting of 116 lncRNAs, 14 miRNAs and 59 mRNAs was established. According to the survival analysis, we detected 11 DElncRNA to have a significant impact on the overall survival in patients with CCA (P < 0.05). CONCLUSIONS: Our study identified novel lncRNAs associated with CCA progression and prognosis and provided data to further understand lncRNA-mediated ceRNA regulatory mechanisms in the pathogenesis of CCA.


Back to top


Gallbladder


  • Regional differences in gallbladder cancer pathogenesis: Insights from a multi‐institutional comparison of tumor mutations

https://onlinelibrary.wiley.com/doi/abs/10.1002/cncr.31850


- Regional differences in gallbladder cancer pathogenesis: Insights from a multi-institutional comparison of tumor mutations

Cancer 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30427539

BACKGROUND: Although rare in the United States, gallbladder cancer (GBCA) is a common cause of cancer death in some parts of the world. To investigate regional differences in pathogenesis and outcomes for GBCA, tumor mutations were analyzed from a sampling of specimens. METHODS: Primary tumors from patients with GBCA who were treated in Chile, Japan, and the United States between 1999 and 2016 underwent targeted sequencing of known cancer-associated genes. Fisher exact and Kruskal-Wallis tests assessed differences in clinicopathologic and genetic factors. Kaplan-Meier methods evaluated differences in overall survival from the time of surgery between mutations. RESULTS: A total of 81 patients were included. Japanese patients (11 patients) were older (median age, 72 years [range, 54-81 years]) compared with patients from Chile (21 patients; median age, 59 years [range, 32-73 years]) and the United States (49 patients; median age, 66 years [range, 46-87 years]) (P = .002) and had more well-differentiated tumors (46% vs 0% for Chile/United States; P < .001) and fewer gallstone-associated cancers (36% vs 67% for Chile and 69% for the United States; P = .13). Japanese patients had a median mutation burden of 6 (range, 1-23) compared with Chile (median mutation burden, 7 [range, 3-20]) and the United States (median mutation burden, 4 [range, 0-27]) (P = .006). Tumors from Japanese patients lacked AT-rich interaction domain 1A (ARID1A) and phosphatidylinositol-4,5-bisphosphate 3-kinase catalytic subunit alpha (PIK3CA) mutations, whereas Chilean tumors lacked Erb-B2 receptor tyrosine kinase 3 (ERBB3) and AT-rich interaction domain 2 (ARID2) mutations. SMAD family member 4 (SMAD4) was found to be mutated similarly across centers (38% in Chile, 36% in Japan, and 27% in the United States; P = .68) and was univariately associated with worse overall survival (median, 10 months vs 25 months; P = .039). At least one potentially actionable gene was found to be altered in 80% of tumors. CONCLUSIONS: Differences in clinicopathologic variables suggest the possibility of distinct GBCA pathogenesis in Japanese patients, which may be supported by differences in mutation pattern. Among all centers, SMAD4 mutations were detected in approximately one-third of patients and may represent a converging factor associated with worse survival. The majority of patients carried mutations in actionable gene targets, which may inform the design of future trials.



Back to top


Ampulla of Vater


- Adenosquamous carcinoma of the papilla of Vater: A phenotypic heterogeneity characterized by a common molecular landscape

Pathology international 2018 Nov;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30417956



Back to top


Neuroendocrine


  • Genetic Analysis of Small Well-differentiated Pancreatic Neuroendocrine Tumors Identifies Subgroups With Differing Risks of Liver Metastases

https://journals.lww.com/annalsofsurgery/Abstract/publishahead/Genetic_Analysis_of_Small_Well_differentiated.95354.aspx


  • Clinical and in vitro studies of the correlation between MGMT and the effect of streptozocin in pancreatic NET

https://link.springer.com/article/10.1007/s00280-018-3700-y


- Evaluating gastroenteropancreatic neuroendocrine tumors through microRNA sequencing

Endocrine-related cancer 2018 Jul;():

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30021866

Gastroenteropancreatic neuroendocrine tumors (GEP-NETs) can be challenging to evaluate histologically. microRNAs (miRNAs) are small RNA molecules that often are excellent biomarkers due to their abundance, cell-type- and disease-stage specificity, and stability. To evaluate miRNAs as adjunct tissue markers for classifying and grading well-differentiated GEP-NETs, we generated and compared miRNA expression profiles from four pathological types of GEP-NETs. Using quantitative barcoded small RNA sequencing and state-of-the-art sequence annotation, we generated comprehensive miRNA expression profiles from archived pancreatic, ileal, appendiceal, and rectal NETs. Following data preprocessing, we manually assigned sample profiles to discovery (80%) and validation (20%) sets prior to data mining using machine-learning techniques. High expression analyses indicated that miR-375 was the most abundant individual miRNA and miRNA cistron in all samples. Leveraging prior knowledge that GEP-NET behavior is influenced by embryonic derivation, we developed a dual-layer hierarchical classifier for differentiating GEP-NET types. In the first layer, our classifier discriminated midgut (ileum, appendix) from non-midgut (rectum, pancreas) NETs based on miR-615 and -92b expression. In the second layer, our classifier discriminated ileal from appendiceal NETs based on miR-125b, -192, and -149 expression, and rectal from pancreatic NETs based on miR-429 and -487b expression. Our classifier achieved overall accuracies of 98.5% and 94.4% in discovery and validation sets, respectively. We also found provisional evidence that low- and intermediate-grade pancreatic NETs can be discriminated based on miR-328 expression. GEP-NETs can be reliably classified and potentially graded using a limited panel of miRNA markers, complementing morphological and immunohistochemistry-based approaches to histologic evaluation.


  • Neuroendocrine neoplasia goes molecular — time for a change

https://www.nature.com/articles/s41571-018-0118-8


  • Blood mRNA Measurement (NETest) for Neuroendocrine Tumors diagnosis of Image-negative liver metastatic disease

https://academic.oup.com/jcem/advance-article-abstract/doi/10.1210/jc.2018-01804/5143222?redirectedFrom=fulltext


- Neuropilin-1 (NRP-1) upregulated by IL-6/STAT3 signaling contributes to invasion in pancreatic neuroendocrine neoplasms

Human pathology 2018 Nov;81():192-200

PubMed: https://www.ncbi.nlm.nih.gov/pubmed/?term=30420046

Although the upregulation of Neuropilin-1 (NRP-1) is associated with many solid tumors, its role in pancreatic neuroendocrine neoplasms (pNEN) has not been well elucidated. The aim of this study was to investigate the role of NRP-1 in improving treatment and determining the prognosis of pNEN. In this study, the expression of NRP-1 in pNEN tissue samples and pNEN cell line BON1 was analyzed by Western blot, polymerase chain reaction (PCR) and immunocytochemistry upon exposure to interleukin-6 (IL-6). Additionally, pNEN cell line BON1 was transfected with small interfering RNAs against NRP-1 or signal transducer and activator of transcription 3 (STAT3) and assessed by in vitro invasion assays. The expression of NRP-1 in pNEN tissues was markedly increased compared with adjacent normal pancreatic tissues. High NRP-1 expression was strongly correlated with tumor grades (P = .026), lymph node metastasis (P = .025), and tumor-node-metastasis stages (P = .012). Furthermore, NRP-1 downregulation notably inhibited the metastatic capacity of pNEN cells, and STAT3 knockdown was found to downregulate the expression of NRP-1. BON1 cells upregulated NRP-1 expression upon stimulation with IL-6. This was accompanied by activation/phosphorylation of the AKT and STAT3 signaling pathways. Western blot of extracts of human pNENs confirmed increased NRP-1 expression, as well as AKT/STAT3 phosphorylation in tissue of pNENs with elevated expression levels of IL-6. In conclusion, our findings suggest that NRP-1 is upregulated in pNEN and is correlated with the metastatic capacity of pNEN cells, potentially via interaction with the IL-6/STAT3 signaling pathway.


  • Cell-Free DNA From Metastatic Pancreatic Neuroendocrine Tumor Patients Contains Tumor-Specific Mutations and Copy Number Variations

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6221938/


Back to top


Journals Reviewed


Advances in Anatomic Pathology
American Journal of Clinical Pathology
The American Journal of Gastroenterology
The American Journal of Pathology
American Journal of Surgical Pathology
Annals of Diagnostic Pathology
Annals of Surgery
Annals of Surgical Oncology
Annual Review of Pathology-Mechanisms of Disease
APMIS
Applied Immunohistochemistry & Molecular Morphology
Archives of Pathology & Laboratory Medicine
Cancer
Cancer Cell
Cancer Cytopathology
Cell
Cellular Oncology
Clinical Cancer Research
Cochrane Database Systematic Reviews
Cytojournal
Cytopathology
Diagnostic Cytopathology
Diagnostic Pathology
Endocrine Pathology
Experimental and Molecular Pathology
Expert Review of Molecular Diagnostics
Gastroenterology
Gut
Histology and Histopathology
Histopathology
Human Pathology
International Journal of Surgical Pathology
International Journal of Clinical and Experimental Pathology
Journal of Clinical Pathology
Journal of Molecular Diagnostics
Journal of Pathology
Laboratory investigation
Lancet
Medical Molecular Morphology
Modern Pathology
Nature
Nature Reviews Gastroenterology & Hepatology
NEJM
Pancreas
Pancreatology
Pathobiology
Pathologie Biologie
Pathology
Pathology & Oncology Research
Pathology International
Pathology Research and Practice
PNAS
Science
Seminars in Diagnostic Pathology
Seminars in Immunopathology
Surgical pathology clinics
Tissue Antigens
Trends in Cancer
Virchows Archiv


Back to top


Feedback


Please send your feedbacks using the form below:

Click here for the Feedback Form


Back to top


LS0tCnRpdGxlOiAiUGFuY3JlYXRvYmlsaWFyeSBQYXRob2xvZ3kgU29jaWV0eSBKb3VybmFsIFdhdGNoIgpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazoKICAgIGNvZGVfZm9sZGluZzogbm9uZQogICAgZmlnX2NhcHRpb246IHllcwogICAgaGlnaGxpZ2h0OiBudWxsCiAgICB0aGVtZTogcGFwZXIKICBwZGZfZG9jdW1lbnQ6CiAgICBrZWVwX3RleDogeWVzCiAgICBsYXRleF9lbmdpbmU6IHhlbGF0ZXgKICAgIHRvYzogeWVzCiAgICB0b2NfZGVwdGg6IDUKICBodG1sX2RvY3VtZW50OgogICAgZGZfcHJpbnQ6IGthYmxlCiAgICBoaWdobGlnaHQ6IG51bGwKICAgIGtlZXBfbWQ6IHllcwogIHdvcmRfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwpkYXRlOiAiTGFzdCBVcGRhdGUgb24gYHIgZm9ybWF0KFN5cy5EYXRlKCkpYCIKc3VidGl0bGU6ICJPY3RvYmVyIE5vdmVtYmVyIDIwMTgiCi0tLQoKCjwhLS0gT3BlbiBhbGwgbGlua3MgaW4gbmV3IHRhYi0tPiAgCjxiYXNlIHRhcmdldD0iX2JsYW5rIi8+ICAKCgo8IS0tIGh0dHBzOi8vd3d3LmFkZHRoaXMuY29tL2FjYWRlbXkvc2V0dGluZy10aGUtdXJsLXRpdGxlLXRvLXNoYXJlLyAtLT4gIAoKPCEtLSBHbyB0byB3d3cuYWRkdGhpcy5jb20vZGFzaGJvYXJkIHRvIGN1c3RvbWl6ZSB5b3VyIHRvb2xzICBKb3VybmFsIFdhdGNoMiBmbG9hdGluZy0tPiAgICAKPCEtLSA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3M3LmFkZHRoaXMuY29tL2pzLzMwMC9hZGR0aGlzX3dpZGdldC5qcyNwdWJpZD1yYS01YmMyNWI5YjllZWYxN2ZjIj4gLS0+CjwhLS0gPC9zY3JpcHQ+IC0tPgoKCjwhLS0gR28gdG8gd3d3LmFkZHRoaXMuY29tL2Rhc2hib2FyZCB0byBjdXN0b21pemUgeW91ciB0b29scyBKb3VybmFsIFdhdGNoIDEgSW5saW5lIHNoYXJlLS0+ICAKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9zNy5hZGR0aGlzLmNvbS9qcy8zMDAvYWRkdGhpc193aWRnZXQuanMjcHViaWQ9cmEtNWJjMjViODJkMGE5YzE4ZCI+ICAKPC9zY3JpcHQ+IAoKCjwhLS0gWyFbXShmaWd1cmVzL1BCUF9oZWFkZXJfbG9nby5qcGcpXShodHRwOi8vcGJwYXRoLm9yZy8pIC0tPgoKCi0tLQoKIyBUaGUgQ3VycmVudCBQQlBhdGggSm91cm5hbCBXYXRjaCBBcnRpY2xlcyB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCgpgYGB7ciBzdHJpbmdzICwgaW5jbHVkZT1GQUxTRX0KUHViTWVkU3RyaW5nIDwtICJQdWJNZWQ6IGh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLz90ZXJtPSIKCmRvaVN0cmluZyA8LSAiZG9pOiBodHRwczovL2RvaS5vcmcvIgoKZGltZW5zaW9uU3RyaW5nMSA8LSAiPHNjcmlwdCBhc3luYz0nJyBjaGFyc2V0PSd1dGYtOCcgc3JjPSdodHRwczovL2JhZGdlLmRpbWVuc2lvbnMuYWkvYmFkZ2UuanMnPjwvc2NyaXB0PiA8c3BhbiBjbGFzcz0nX19kaW1lbnNpb25zX2JhZGdlX2VtYmVkX18nIGRhdGEtZG9pPSciCgpkaW1lbnNpb25TdHJpbmcyIDwtICInIGRhdGEtc3R5bGU9J3NtYWxsX2NpcmNsZScgZGF0YS1oaWRlLXplcm8tY2l0YXRpb25zPSd0cnVlJyBkYXRhLWxlZ2VuZD0nYWx3YXlzJz48L3NwYW4+IgoKYWx0bWV0cmljU3RyaW5nMSA8LSI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwczovL2QxYnhoOHVhczFtbnc3LmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9lbWJlZC5qcyc+PC9zY3JpcHQ+IDxzcGFuIGNsYXNzPSdhbHRtZXRyaWMtZW1iZWQnIGRhdGEtbGluay10YXJnZXQ9J19ibGFuaycgZGF0YS1iYWRnZS1kZXRhaWxzPSdyaWdodCcgZGF0YS1iYWRnZS10eXBlPSdkb251dCcgZGF0YS1kb2k9JyIKCmFsdG1ldHJpY1N0cmluZzIgPC0gIicgZGF0YS1oaWRlLW5vLW1lbnRpb25zPSd0cnVlJz48L3NwYW4+IgoKYWRkdGhpc19TdHJpbmcxIDwtICI8ZGl2IGNsYXNzPSdhZGR0aGlzX2lubGluZV9zaGFyZV90b29sYm94JyBkYXRhLXVybD0ncGJwYXRoLm9yZy9qb3VybmFsLXdhdGNoLycgZGF0YS10aXRsZT0nU2VlIHRoaXMgYWJzdHJhY3Qgb24gI1BCUGF0aCAjSm91cm5hbFdhdGNoIDogIgoKYWRkdGhpc19TdHJpbmcyIDwtICInPjwvZGl2PiIKCmBgYAoKCi0tLQoKKipXZWxsY29tZSB0byB0aGUgUEJQYXRoIEpvdXJuYWwgV2F0Y2ghKiogCgpUaGlzIGJpLW1vbnRobHkgam91cm5hbCB3YXRjaCBmZWF0dXJlcyBleGNpdGluZyByZWNlbnRseSBwdWJsaXNoZWQgcGFuY3JlYXMgYW5kIGJpbGlhcnkgcGF0aG9sb2d5IGFydGljbGVzIHRoYXQgd2lsbCBwcm92aWRlIHVwIHRvIGRhdGUgbWVkaWNhbCBrbm93bGVkZ2UgaW4gb3VyIGZpZWxkLiBUaGVzZSBhcnRpY2xlcyB3aWxsIGJlIHNob3djYXNlZCBpbiBzZXZlcmFsIGNvbnZlbmllbnQgY2F0ZWdvcmllcywgaW5jbHVkaW5nIHN1cmdpY2FsIHBhdGhvbG9neSwgbW9sZWN1bGFyIHBhdGhvbG9neSBhbmQgY3l0b3BhdGhvbG9neSBhbW9uZyBvdGhlcnMuIFRoZSBhcnRpY2xlcyBpbiBlYWNoIGNhdGVnb3J5IGFyZSBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyLiAgCgpQcmV2aW91cyBtb250aHPigJkgaXNzdWVzIG1heSBiZSBmb3VuZCBpbiBvdXIgKlthcmNoaXZlXShodHRwOi8vcGJwYXRoLm9yZy9qb3VybmFsLXdhdGNoLWFyY2hpdmUvKSouICAKCldlIGVuY291cmFnZSBtZW1iZXJzIHRvIGFjdGl2ZWx5IHBhcnRpY2lwYXRlIGJ5IHJlY29tbWVuZGluZyBuZXcgYXJ0aWNsZXMgYW5kIHByb3ZpZGluZyBmZWVkYmFjayB1c2luZyAqW3RoZSBmb3JtcyBwcm92aWRlZF0oaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZm9ybXMvZC9lLzFGQUlwUUxTZUQzWjlKNlk3ZU1taXlNMTJmX1NmQW1IVWx5a2IxenhaY3dPNmxnN2NlYkdZUUlRL3ZpZXdmb3JtKSouICAKCioqV2UgaG9wZSB0aGF0IHlvdSB3aWxsIGVuam95IHRoZSBuZXcgUEJQYXRoIEpvdXJuYWwgV2F0Y2ghKiogIAoKCgoKClxwYWdlYnJlYWsKCgotLS0KCiMjIFN1cmdpY2FsIFBhdGhvbG9neSB7LnRhYnNldH0KCi0tLQoKIyMjIFBhbmNyZWFzCgoKIyMjIyBNb3JwaG9sb2d5LCBEaWFnbm9zdGljcywgSUhDCgpNb3JwaG9sb2d5LCBEaWFnbm9zdGljcywgSUhDCgoKYGBge3IgUyBQYW5jcmVhcyBNb3JwaG9sb2d5IERpYWdub3N0aWNzIElIQywgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgoKLSAqKlBhbmNyZWF0aWMgY2FuY2VyIGFyaXNpbmcgaW4gdGhlIHJlbW5hbnQgcGFuY3JlYXMgaXMgbm90IGFsd2F5cyBhIHJlbGFwc2Ugb2YgdGhlIHByZWNlZGluZyBwcmltYXJ5KioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxMzc5LTAxOC0wMTgzLTcKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwNDY3MzIzCgoKLS0tCgpgYGB7ciAzMDM2NjY3NywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzNjY2NzcgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzNjY2NzcnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzNjY2NzcgPC0gcGFzdGUwKFBNSURfMzAzNjY2Nzckam91cm5hbCwnICcsIFBNSURfMzAzNjY2NzckeWVhciwgJyAnLCBQTUlEXzMwMzY2Njc3JG1vbnRoLCc7JywgUE1JRF8zMDM2NjY3NyR2b2x1bWUsJygnLCBQTUlEXzMwMzY2Njc3JG51bWJlciwnKTonLCBQTUlEXzMwMzY2Njc3JHBhZ2VzKQoKUHViTWVkXzMwMzY2Njc3IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzNjY2NzckZXByaW50KQoKZG9pXzMwMzY2Njc3IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzNjY2NzckZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzNjY2NzcgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzNjY2NzckZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM2NjY3NyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM2NjY3NyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzNjY2NzcgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM2NjY3NyR0aXRsZSAsICIgUE1JRDogMzAzNjY2NzcgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzY2Njc3JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzNjY2NzdgKgoKYHIgUHViTWVkXzMwMzY2Njc3YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzNjY2NzdgCgpgciBQTUlEXzMwMzY2Njc3JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzNjY2NzdgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzNjY2NzdgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM2NjY3N2AKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDI5NDU3ODUzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTQ1Nzg1MyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTQ1Nzg1MycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTQ1Nzg1MyA8LSBwYXN0ZTAoUE1JRF8yOTQ1Nzg1MyRqb3VybmFsLCcgJywgUE1JRF8yOTQ1Nzg1MyR5ZWFyLCAnICcsIFBNSURfMjk0NTc4NTMkbW9udGgsJzsnLCBQTUlEXzI5NDU3ODUzJHZvbHVtZSwnKCcsIFBNSURfMjk0NTc4NTMkbnVtYmVyLCcpOicsIFBNSURfMjk0NTc4NTMkcGFnZXMpCgpQdWJNZWRfMjk0NTc4NTMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTQ1Nzg1MyRlcHJpbnQpCgpkb2lfMjk0NTc4NTMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTQ1Nzg1MyRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTQ1Nzg1MyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTQ1Nzg1MyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5NDU3ODUzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5NDU3ODUzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTQ1Nzg1MyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5NDU3ODUzJHRpdGxlICwgIiBQTUlEOiAyOTQ1Nzg1MyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk0NTc4NTMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTQ1Nzg1M2AqCgpgciBQdWJNZWRfMjk0NTc4NTNgCgpgciBhZGR0aGlzX2lubGluZV8yOTQ1Nzg1M2AKCmByIFBNSURfMjk0NTc4NTMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTQ1Nzg1M2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTQ1Nzg1M2AKCmByIGFsdG1ldHJpY0JhZGdlXzI5NDU3ODUzYAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzAzMDI0MjcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzAyNDI3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzAyNDI3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzAyNDI3IDwtIHBhc3RlMChQTUlEXzMwMzAyNDI3JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzAyNDI3JHllYXIsICcgJywgUE1JRF8zMDMwMjQyNyRtb250aCwnOycsIFBNSURfMzAzMDI0Mjckdm9sdW1lLCcoJywgUE1JRF8zMDMwMjQyNyRudW1iZXIsJyk6JywgUE1JRF8zMDMwMjQyNyRwYWdlcykKClB1Yk1lZF8zMDMwMjQyNyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzAyNDI3JGVwcmludCkKCmRvaV8zMDMwMjQyNyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzAyNDI3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzAyNDI3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzAyNDI3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzMDI0MjcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzMDI0MjckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzAyNDI3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzMDI0MjckdGl0bGUgLCAiIFBNSUQ6IDMwMzAyNDI3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDMwMjQyNyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzAyNDI3YCoKCmByIFB1Yk1lZF8zMDMwMjQyN2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMzAyNDI3YAoKYHIgUE1JRF8zMDMwMjQyNyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzAyNDI3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzAyNDI3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzMDI0MjdgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwMzE1Mzg1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDMxNTM4NSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDMxNTM4NScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDMxNTM4NSA8LSBwYXN0ZTAoUE1JRF8zMDMxNTM4NSRqb3VybmFsLCcgJywgUE1JRF8zMDMxNTM4NSR5ZWFyLCAnICcsIFBNSURfMzAzMTUzODUkbW9udGgsJzsnLCBQTUlEXzMwMzE1Mzg1JHZvbHVtZSwnKCcsIFBNSURfMzAzMTUzODUkbnVtYmVyLCcpOicsIFBNSURfMzAzMTUzODUkcGFnZXMpCgpQdWJNZWRfMzAzMTUzODUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDMxNTM4NSRlcHJpbnQpCgpkb2lfMzAzMTUzODUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDMxNTM4NSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDMxNTM4NSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDMxNTM4NSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzE1Mzg1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzE1Mzg1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDMxNTM4NSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzE1Mzg1JHRpdGxlICwgIiBQTUlEOiAzMDMxNTM4NSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzMTUzODUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDMxNTM4NWAqCgpgciBQdWJNZWRfMzAzMTUzODVgCgpgciBhZGR0aGlzX2lubGluZV8zMDMxNTM4NWAKCmByIFBNSURfMzAzMTUzODUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDMxNTM4NWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDMxNTM4NWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzE1Mzg1YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzAzNzQ5MjMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzc0OTIzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzc0OTIzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzc0OTIzIDwtIHBhc3RlMChQTUlEXzMwMzc0OTIzJGpvdXJuYWwsJyAnLCBQTUlEXzMwMzc0OTIzJHllYXIsICcgJywgUE1JRF8zMDM3NDkyMyRtb250aCwnOycsIFBNSURfMzAzNzQ5MjMkdm9sdW1lLCcoJywgUE1JRF8zMDM3NDkyMyRudW1iZXIsJyk6JywgUE1JRF8zMDM3NDkyMyRwYWdlcykKClB1Yk1lZF8zMDM3NDkyMyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzc0OTIzJGVwcmludCkKCmRvaV8zMDM3NDkyMyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzc0OTIzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzc0OTIzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzc0OTIzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzNzQ5MjMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzNzQ5MjMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzc0OTIzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzNzQ5MjMkdGl0bGUgLCAiIFBNSUQ6IDMwMzc0OTIzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM3NDkyMyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzc0OTIzYCoKCmByIFB1Yk1lZF8zMDM3NDkyM2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMzc0OTIzYAoKYHIgUE1JRF8zMDM3NDkyMyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzc0OTIzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzc0OTIzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzNzQ5MjNgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDM3NTYzNywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzNzU2MzcgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzNzU2MzcnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzNzU2MzcgPC0gcGFzdGUwKFBNSURfMzAzNzU2Mzckam91cm5hbCwnICcsIFBNSURfMzAzNzU2MzckeWVhciwgJyAnLCBQTUlEXzMwMzc1NjM3JG1vbnRoLCc7JywgUE1JRF8zMDM3NTYzNyR2b2x1bWUsJygnLCBQTUlEXzMwMzc1NjM3JG51bWJlciwnKTonLCBQTUlEXzMwMzc1NjM3JHBhZ2VzKQoKUHViTWVkXzMwMzc1NjM3IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzNzU2MzckZXByaW50KQoKZG9pXzMwMzc1NjM3IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzNzU2MzckZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzNzU2MzcgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzNzU2MzckZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM3NTYzNyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM3NTYzNyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzNzU2MzcgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM3NTYzNyR0aXRsZSAsICIgUE1JRDogMzAzNzU2MzcgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzc1NjM3JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzNzU2MzdgKgoKYHIgUHViTWVkXzMwMzc1NjM3YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzNzU2MzdgCgpgciBQTUlEXzMwMzc1NjM3JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzNzU2MzdgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzNzU2MzdgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM3NTYzN2AKCjwvZGV0YWlscz4KCgoKLS0tCgpgYGB7ciAzMDM3NzM0MSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzNzczNDEgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzNzczNDEnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzNzczNDEgPC0gcGFzdGUwKFBNSURfMzAzNzczNDEkam91cm5hbCwnICcsIFBNSURfMzAzNzczNDEkeWVhciwgJyAnLCBQTUlEXzMwMzc3MzQxJG1vbnRoLCc7JywgUE1JRF8zMDM3NzM0MSR2b2x1bWUsJygnLCBQTUlEXzMwMzc3MzQxJG51bWJlciwnKTonLCBQTUlEXzMwMzc3MzQxJHBhZ2VzKQoKUHViTWVkXzMwMzc3MzQxIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzNzczNDEkZXByaW50KQoKZG9pXzMwMzc3MzQxIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzNzczNDEkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzNzczNDEgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzNzczNDEkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM3NzM0MSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM3NzM0MSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzNzczNDEgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM3NzM0MSR0aXRsZSAsICIgUE1JRDogMzAzNzczNDEgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzc3MzQxJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzNzczNDFgKgoKYHIgUHViTWVkXzMwMzc3MzQxYAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzNzczNDFgCgpgciBQTUlEXzMwMzc3MzQxJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzNzczNDFgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzNzczNDFgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM3NzM0MWAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkluY2lkZW5jZSBhbmQgcmlzayBmYWN0b3JzIGZvciBhYmRvbWluYWwgb2NjdWx0IG1ldGFzdGF0aWMgZGlzZWFzZSBpbiBwYXRpZW50cyB3aXRoIHBhbmNyZWF0aWMgYWRlbm9jYXJjaW5vbWEqKgoKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMDAyL2pzby4yNTI4OAoKLS0tCgotICoqSW50ZWdyYXRlZCB3aG9sZSBnZW5vbWUgbWljcm9hcnJheSBhbmFseXNpcyBhbmQgaW1tdW5vaGlzdG9jaGVtaWNhbCBhc3NheSBpZGVudGlmaWVzIENPTDExQTEsIEdKQjIgYW5kIENUUkwgYXMgcHJlZGljdGl2ZSBiaW9tYXJrZXJzIGZvciBwYW5jcmVhdGljIGNhbmNlcioqICAKCmh0dHBzOi8vY2FuY2VyY2kuYmlvbWVkY2VudHJhbC5jb20vYXJ0aWNsZXMvMTAuMTE4Ni9zMTI5MzUtMDE4LTA2NjkteAoKLS0tCgotICoqSGlnaCBudWNsZWFyIFN1cnZpdmluIGV4cHJlc3Npb24gYXMgYSBwb29yIHByb2dub3N0aWMgbWFya2VyIGluIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hKioKCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pLzEwLjEwMDIvanNvLjI1MjUzCgotLS0KCi0gKipTaWxlbmNpbmcgb2YgTVVDMjAgc3VwcHJlc3NlcyB0aGUgbWFsaWduYW50IGNoYXJhY3RlciBvZiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSBjZWxscyB0aHJvdWdoIGluaGliaXRpb24gb2YgdGhlIEhHRi9NRVQgcGF0aHdheSoqCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTM4OC0wMTgtMDQwMy0wCgotLS0KCi0gKipFcGlkZXJtb2lkIGN5c3QgaW4gaW50cmFwYW5jcmVhdGljIGFjY2Vzc29yeSBzcGxlZW46IEEgc3lzdGVtYXRpYyByZXZpZXcqKgogICAgCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzE0MjQzOTAzMTgzMDcwMjYKCgotLS0KCi0gKipSZXNpZHVhbCBUdW1vciBJbmRleDogQSBQcm9nbm9zdGljYWxseSBTaWduaWZpY2FudCBQYXRob2xvZ2ljIFBhcmFtZXRlciBpbiBOZW9hZGp1dmFudC10cmVhdGVkIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKICAgIApodHRwczovL2pvdXJuYWxzLmx3dy5jb20vYWpzcC9BYnN0cmFjdC8yMDE4LzExMDAwL1Jlc2lkdWFsX1R1bW9yX0luZGV4X19BX1Byb2dub3N0aWNhbGx5X1NpZ25pZmljYW50LjcuYXNweAoKLS0tCgoKMzAzMjM5NzMKCjI5NzU3MTQ1CgozMDMwODYwOAoKMzAzMTExNjMKCjMwMzI0NDY3CgozMDM1MzA1NwoKMzAyODY0NzMKCjMwMjg2NDcyCgozMDI5ODMxMgoKMjk4NTM3MzIKCjI5MjQyMDk3CgoyOTYxMTU0MgoKMjk0OTU4ODkKCjMwMzAwNjExCgozMDA5ODkxMAoKMzAzMjQ0NzAKCjMwMjY5MTMxCgozMDI5NzA5NQoKMzAzMzk2MjIKCjMwMjY2NzYzCgozMDI5NjQzNQoKMzAzMTUwOTMKCjMwMzQyMDMyCgozMDM0MzI3MgoKMjk5Mjg4OTgKCjMwMzUyOTA2CgoyOTM5NTI2OQoKMjkzOTUyNzEKCjMwMjc3NjUzCgoyOTE5ODE3NwoKMzAyOTgzMzEKCjMwMzA3NDczCgozMDI3ODU4NQoKMzAzMTU3NzgKCjI5NTIxOTQzCgozMDEyNjQwOAoKMzAzMzQzNjEKCjMwMzM0NTc5CgozMDI4ODY1MgoKMjk3NTE4ODMKCjMwMzAxNjM1CgoyOTQ1MDk3OAoKMzAzNDk5NTIKCjMwMjg1MDY4CgoyOTM5MTMzMgoKMjg5NTg2MzgKCjMwMzE1Mzg2CgozMDI2OTc3MQoKMzAzMDMxNTUKCjMwMzI3OTcyCgozMDI4MjA4MwoKMzAyODQ0MTAKCjMwMzAyNjM5CgozMDMwODUzNwoKMzAzMDI0MzAKCjMwMzAwODk3CgozMDMzOTYyOQoKMzAzMDYzNzAKCjMwMzE1MzgzCgozMDM1MzM5NwoKMzAyNjg2NzQKCjMwMjg0NDA2CgozMDMwMTc3MgoKMzAzMDg1MzUKCjMwMjkwMDI4CgozMDMwMzU2OQoKMzAzNTM3MDAKCjMwMjkzODcyCgozMDMxNjY5MAoKMzAzNjE4OTgKCjI5NzMxMjY1CgotLS0KCi0gKipPdmVyZXhwcmVzc2lvbiBvZiBmb2xhdGUgcmVjZXB0b3IgYWxwaGEgaXMgYW4gaW5kZXBlbmRlbnQgcHJvZ25vc3RpYyBmYWN0b3IgZm9yIG91dGNvbWVzIG9mIHBhbmNyZWF0aWMgY2FuY2VyIHBhdGllbnRzKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MwMDc5NS0wMTgtMDE5Ny04CgotLS0KCi0gKipTb2xpdGFyeSBwYW5jcmVhdGljIG1ldGFzdGFzaXMgb2YgZXh0cmVtaXR5IG15eG9pZCBsaXBvc2FyY29tYTogYSBjYXNlIHJlcG9ydCBhbmQgbGl0ZXJhdHVyZSByZXZpZXcqKgoKaHR0cHM6Ly9ibWNjYW5jZXIuYmlvbWVkY2VudHJhbC5jb20vYXJ0aWNsZXMvMTAuMTE4Ni9zMTI4ODUtMDE4LTUwNTktMQoKCi0tLQoKLSAqKlBhbmNyZWF0aWMgQ3lzdHMgU2luaXN0ZXIgRmluZGluZ3Mgb3IgSW5jaWRlbnRhbG9tYXM/KioKCmh0dHBzOi8vd3d3Lm1lZGljYWwudGhlY2xpbmljcy5jb20vYXJ0aWNsZS9TMDAyNS03MTI1KDE4KTMwMDk1LTYvZnVsbHRleHQKCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyMgU3RhZ2luZwoKUGFuY3JlYXMgVE5NIHN0YWdpbmcsIE1hcmdpbnMsIFN1cnZpdmFsCgpgYGB7ciBTIFBhbmNyZWFzIFROTSBzdGFnaW5nIE1hcmdpbnMgU3Vydml2YWwsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzAyODQxMjksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMjg0MTI5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMjg0MTI5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMjg0MTI5IDwtIHBhc3RlMChQTUlEXzMwMjg0MTI5JGpvdXJuYWwsJyAnLCBQTUlEXzMwMjg0MTI5JHllYXIsICcgJywgUE1JRF8zMDI4NDEyOSRtb250aCwnOycsIFBNSURfMzAyODQxMjkkdm9sdW1lLCcoJywgUE1JRF8zMDI4NDEyOSRudW1iZXIsJyk6JywgUE1JRF8zMDI4NDEyOSRwYWdlcykKClB1Yk1lZF8zMDI4NDEyOSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMjg0MTI5JGVwcmludCkKCmRvaV8zMDI4NDEyOSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMjg0MTI5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMjg0MTI5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMjg0MTI5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAyODQxMjkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAyODQxMjkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMjg0MTI5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAyODQxMjkkdGl0bGUgLCAiIFBNSUQ6IDMwMjg0MTI5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDI4NDEyOSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMjg0MTI5YCoKCmByIFB1Yk1lZF8zMDI4NDEyOWAKCmByIGFkZHRoaXNfaW5saW5lXzMwMjg0MTI5YAoKYHIgUE1JRF8zMDI4NDEyOSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMjg0MTI5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMjg0MTI5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAyODQxMjlgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDI4NTA3NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAyODUwNzYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAyODUwNzYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAyODUwNzYgPC0gcGFzdGUwKFBNSURfMzAyODUwNzYkam91cm5hbCwnICcsIFBNSURfMzAyODUwNzYkeWVhciwgJyAnLCBQTUlEXzMwMjg1MDc2JG1vbnRoLCc7JywgUE1JRF8zMDI4NTA3NiR2b2x1bWUsJygnLCBQTUlEXzMwMjg1MDc2JG51bWJlciwnKTonLCBQTUlEXzMwMjg1MDc2JHBhZ2VzKQoKUHViTWVkXzMwMjg1MDc2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAyODUwNzYkZXByaW50KQoKZG9pXzMwMjg1MDc2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAyODUwNzYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAyODUwNzYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAyODUwNzYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDI4NTA3NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDI4NTA3NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAyODUwNzYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDI4NTA3NiR0aXRsZSAsICIgUE1JRDogMzAyODUwNzYgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMjg1MDc2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAyODUwNzZgKgoKYHIgUHViTWVkXzMwMjg1MDc2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAyODUwNzZgCgpgciBQTUlEXzMwMjg1MDc2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAyODUwNzZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAyODUwNzZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDI4NTA3NmAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwMzEwNTA3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDMxMDUwNyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDMxMDUwNycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDMxMDUwNyA8LSBwYXN0ZTAoUE1JRF8zMDMxMDUwNyRqb3VybmFsLCcgJywgUE1JRF8zMDMxMDUwNyR5ZWFyLCAnICcsIFBNSURfMzAzMTA1MDckbW9udGgsJzsnLCBQTUlEXzMwMzEwNTA3JHZvbHVtZSwnKCcsIFBNSURfMzAzMTA1MDckbnVtYmVyLCcpOicsIFBNSURfMzAzMTA1MDckcGFnZXMpCgpQdWJNZWRfMzAzMTA1MDcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDMxMDUwNyRlcHJpbnQpCgpkb2lfMzAzMTA1MDcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDMxMDUwNyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDMxMDUwNyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDMxMDUwNyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzEwNTA3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzEwNTA3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDMxMDUwNyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzEwNTA3JHRpdGxlICwgIiBQTUlEOiAzMDMxMDUwNyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzMTA1MDckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDMxMDUwN2AqCgpgciBQdWJNZWRfMzAzMTA1MDdgCgpgciBhZGR0aGlzX2lubGluZV8zMDMxMDUwN2AKCmByIFBNSURfMzAzMTA1MDckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDMxMDUwN2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDMxMDUwN2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzEwNTA3YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzAzMjYzNzAsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzI2MzcwIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzI2MzcwJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzI2MzcwIDwtIHBhc3RlMChQTUlEXzMwMzI2MzcwJGpvdXJuYWwsJyAnLCBQTUlEXzMwMzI2MzcwJHllYXIsICcgJywgUE1JRF8zMDMyNjM3MCRtb250aCwnOycsIFBNSURfMzAzMjYzNzAkdm9sdW1lLCcoJywgUE1JRF8zMDMyNjM3MCRudW1iZXIsJyk6JywgUE1JRF8zMDMyNjM3MCRwYWdlcykKClB1Yk1lZF8zMDMyNjM3MCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzI2MzcwJGVwcmludCkKCmRvaV8zMDMyNjM3MCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzI2MzcwJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzI2MzcwIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzI2MzcwJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzMjYzNzAgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzMjYzNzAkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzI2MzcwIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzMjYzNzAkdGl0bGUgLCAiIFBNSUQ6IDMwMzI2MzcwICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDMyNjM3MCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzI2MzcwYCoKCmByIFB1Yk1lZF8zMDMyNjM3MGAKCmByIGFkZHRoaXNfaW5saW5lXzMwMzI2MzcwYAoKYHIgUE1JRF8zMDMyNjM3MCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzI2MzcwYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzI2MzcwYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzMjYzNzBgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDI4NjAxMSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAyODYwMTEgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAyODYwMTEnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAyODYwMTEgPC0gcGFzdGUwKFBNSURfMzAyODYwMTEkam91cm5hbCwnICcsIFBNSURfMzAyODYwMTEkeWVhciwgJyAnLCBQTUlEXzMwMjg2MDExJG1vbnRoLCc7JywgUE1JRF8zMDI4NjAxMSR2b2x1bWUsJygnLCBQTUlEXzMwMjg2MDExJG51bWJlciwnKTonLCBQTUlEXzMwMjg2MDExJHBhZ2VzKQoKUHViTWVkXzMwMjg2MDExIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAyODYwMTEkZXByaW50KQoKZG9pXzMwMjg2MDExIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAyODYwMTEkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAyODYwMTEgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAyODYwMTEkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDI4NjAxMSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDI4NjAxMSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAyODYwMTEgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDI4NjAxMSR0aXRsZSAsICIgUE1JRDogMzAyODYwMTEgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMjg2MDExJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAyODYwMTFgKgoKYHIgUHViTWVkXzMwMjg2MDExYAoKYHIgYWRkdGhpc19pbmxpbmVfMzAyODYwMTFgCgpgciBQTUlEXzMwMjg2MDExJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAyODYwMTFgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAyODYwMTFgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDI4NjAxMWAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwMDA3OTkwLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDAwNzk5MCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDAwNzk5MCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDAwNzk5MCA8LSBwYXN0ZTAoUE1JRF8zMDAwNzk5MCRqb3VybmFsLCcgJywgUE1JRF8zMDAwNzk5MCR5ZWFyLCAnICcsIFBNSURfMzAwMDc5OTAkbW9udGgsJzsnLCBQTUlEXzMwMDA3OTkwJHZvbHVtZSwnKCcsIFBNSURfMzAwMDc5OTAkbnVtYmVyLCcpOicsIFBNSURfMzAwMDc5OTAkcGFnZXMpCgpQdWJNZWRfMzAwMDc5OTAgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDAwNzk5MCRlcHJpbnQpCgpkb2lfMzAwMDc5OTAgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDAwNzk5MCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDAwNzk5MCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDAwNzk5MCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMDA3OTkwIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMDA3OTkwJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDAwNzk5MCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMDA3OTkwJHRpdGxlICwgIiBQTUlEOiAzMDAwNzk5MCAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAwMDc5OTAkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDAwNzk5MGAqCgpgciBQdWJNZWRfMzAwMDc5OTBgCgpgciBhZGR0aGlzX2lubGluZV8zMDAwNzk5MGAKCmByIFBNSURfMzAwMDc5OTAkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDAwNzk5MGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDAwNzk5MGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMDA3OTkwYAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzA0MTczMzEsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDE3MzMxIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDE3MzMxJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDE3MzMxIDwtIHBhc3RlMChQTUlEXzMwNDE3MzMxJGpvdXJuYWwsJyAnLCBQTUlEXzMwNDE3MzMxJHllYXIsICcgJywgUE1JRF8zMDQxNzMzMSRtb250aCwnOycsIFBNSURfMzA0MTczMzEkdm9sdW1lLCcoJywgUE1JRF8zMDQxNzMzMSRudW1iZXIsJyk6JywgUE1JRF8zMDQxNzMzMSRwYWdlcykKClB1Yk1lZF8zMDQxNzMzMSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDE3MzMxJGVwcmludCkKCmRvaV8zMDQxNzMzMSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDE3MzMxJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDE3MzMxIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDE3MzMxJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0MTczMzEgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0MTczMzEkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDE3MzMxIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0MTczMzEkdGl0bGUgLCAiIFBNSUQ6IDMwNDE3MzMxICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQxNzMzMSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDE3MzMxYCoKCmByIFB1Yk1lZF8zMDQxNzMzMWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDE3MzMxYAoKYHIgUE1JRF8zMDQxNzMzMSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDE3MzMxYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDE3MzMxYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0MTczMzFgCgo8L2RldGFpbHM+CgotLS0KCi0gKipEZWZpbml0aW9uIG9mIGFuIGV4dGVuZGVkIG1pbmltdW0gbGV2ZWwgb2YgbHltcGhhZGVuZWN0b215IGluIG5vbi1wYW5jcmVhdGljIHBlcmlhbXB1bGxhcnkgY2FuY2VyIHJlc2VjdGlvbnMqKgogICAgCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI1ODYyOTU0X0RlZmluaXRpb25fb2ZfYW5fZXh0ZW5kZWRfbWluaW11bV9sZXZlbF9vZl9seW1waGFkZW5lY3RvbXlfaW5fbm9uLXBhbmNyZWF0aWNfcGVyaWFtcHVsbGFyeV9jYW5jZXJfcmVzZWN0aW9ucwoKCi0tLQogICAgCi0gKipBIFJlZmluZWQgU3RhZ2luZyBNb2RlbCBmb3IgUmVzZWN0YWJsZSBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSBJbmNvcnBvcmF0aW5nIEV4YW1pbmVkIEx5bXBoIE5vZGVzLCBMb2NhdGlvbiBvZiBUdW1vciBhbmQgUG9zaXRpdmUgTHltcGggTm9kZXMgUmF0aW8qKgogICAgCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI3NTQ1MDUwX0FfUmVmaW5lZF9TdGFnaW5nX01vZGVsX2Zvcl9SZXNlY3RhYmxlX1BhbmNyZWF0aWNfRHVjdGFsX0FkZW5vY2FyY2lub21hX0luY29ycG9yYXRpbmdfRXhhbWluZWRfTHltcGhfTm9kZXNfTG9jYXRpb25fb2ZfVHVtb3JfYW5kX1Bvc2l0aXZlX0x5bXBoX05vZGVzX1JhdGlvCgotLS0KICAgIAotICoqTm9tb2dyYW0gdG8gUHJlZGljdCBDYW5jZXItU3BlY2lmaWMgU3Vydml2YWwgaW4gUGF0aWVudHMgd2l0aCBQYW5jcmVhdGljIEFjaW5hciBDZWxsIENhcmNpbm9tYTogQSBDb21wZXRpbmcgUmlzayBBbmFseXNpcyoqCiAgICAKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjgzMzUyMTBfTm9tb2dyYW1fdG9fUHJlZGljdF9DYW5jZXItU3BlY2lmaWNfU3Vydml2YWxfaW5fUGF0aWVudHNfd2l0aF9QYW5jcmVhdGljX0FjaW5hcl9DZWxsX0NhcmNpbm9tYV9BX0NvbXBldGluZ19SaXNrX0FuYWx5c2lzCgoKLS0tCiAgICAKLSAqKkEgcHJvc3BlY3RpdmUgY2xpbmljYWwgYW5kIGJpb2xvZ2ljYWwgZGF0YWJhc2UgZm9yIHBhbmNyZWF0aWMgYWRlbm9jYXJjaW5vbWE6IHRoZSBCQUNBUCBjb2hvcnQqKgogICAgCiAgICAKaHR0cHM6Ly9ibWNjYW5jZXIuYmlvbWVkY2VudHJhbC5jb20vYXJ0aWNsZXMvMTAuMTE4Ni9zMTI4ODUtMDE4LTQ5MDYtNAoKCi0tLQoKICAgIAotICoqVGhlIGluY2lkZW5jZSBhbmQgc3Vydml2YWwgb2YgcGFuY3JlYXRpYyBjYW5jZXIgYnkgaGlzdG9sb2d5LCBpbmNsdWRpbmcgcmFyZSBzdWJ0eXBlczogYSBuYXRpb27igJB3aWRlIGNhbmNlciByZWdpc3RyeeKAkGJhc2VkIHN0dWR5IGZyb20gVGFpd2FuKioKICAgIAogICAgCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL3BkZi8xMC4xMDAyL2NhbTQuMTc5NQoKCi0tLQogICAgCiAgICAKLSAqKlBhbmNyZWF0aWMgY2FuY2VyIGFuZCBhdXRvaW1tdW5lIGRpc2Vhc2VzOiBBbiBhc3NvY2lhdGlvbiBzdXN0YWluZWQgYnkgY29tcHV0YXRpb25hbCBhbmQgZXBpZGVtaW9sb2dpY2FsIGNhc2UtY29udHJvbCBhcHByb2FjaGVzOiBBdXRvaW1tdW5lIGRpc2Vhc2VzIGFuZCBwYW5jcmVhdGljIGNhbmNlciByaXNrKioKICAgIApodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMyNzc1NDI0Nl9QYW5jcmVhdGljX2NhbmNlcl9hbmRfYXV0b2ltbXVuZV9kaXNlYXNlc19Bbl9hc3NvY2lhdGlvbl9zdXN0YWluZWRfYnlfY29tcHV0YXRpb25hbF9hbmRfZXBpZGVtaW9sb2dpY2FsX2Nhc2UtY29udHJvbF9hcHByb2FjaGVzX0F1dG9pbW11bmVfZGlzZWFzZXNfYW5kX3BhbmNyZWF0aWNfY2FuY2VyX3Jpc2sKCgoKLS0tCgpgYGB7ciAzMDQzMDMyMywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0MzAzMjMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0MzAzMjMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0MzAzMjMgPC0gcGFzdGUwKFBNSURfMzA0MzAzMjMkam91cm5hbCwnICcsIFBNSURfMzA0MzAzMjMkeWVhciwgJyAnLCBQTUlEXzMwNDMwMzIzJG1vbnRoLCc7JywgUE1JRF8zMDQzMDMyMyR2b2x1bWUsJygnLCBQTUlEXzMwNDMwMzIzJG51bWJlciwnKTonLCBQTUlEXzMwNDMwMzIzJHBhZ2VzKQoKUHViTWVkXzMwNDMwMzIzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0MzAzMjMkZXByaW50KQoKZG9pXzMwNDMwMzIzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0MzAzMjMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0MzAzMjMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0MzAzMjMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQzMDMyMyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQzMDMyMyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0MzAzMjMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQzMDMyMyR0aXRsZSAsICIgUE1JRDogMzA0MzAzMjMgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDMwMzIzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0MzAzMjNgKgoKYHIgUHViTWVkXzMwNDMwMzIzYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0MzAzMjNgCgpgciBQTUlEXzMwNDMwMzIzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0MzAzMjNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0MzAzMjNgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQzMDMyM2AKCjwvZGV0YWlscz4KCi0tLQoKLSAqKk1pbmltYWxseSBJbnZhc2l2ZSBTdGFnaW5nIFN1cmdlcnkgZm9yIENhbmNlcioqCiAgICAKaHR0cHM6Ly93d3cuc3VyZ29uYy50aGVjbGluaWNzLmNvbS9hcnRpY2xlL1MxMDU1LTMyMDcoMTgpMzA2NzctWC9mdWxsdGV4dAoKLS0tCgotICoqUmlzayBmYWN0b3JzIHJlbGF0ZWQgdG8gbWV0YXN0YXNpcyBvZiBwYXJhLWFvcnRpYyBseW1waCBub2RlcyBpbiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYTogQSByZXRyb3NwZWN0aXZlIG9ic2VydmF0aW9uYWwgc3R1ZHkqKgogICAgCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9tZC1qb3VybmFsL0Z1bGx0ZXh0LzIwMTgvMTAwNTAvUmlza19mYWN0b3JzX3JlbGF0ZWRfdG9fbWV0YXN0YXNpc19vZl9wYXJhX2FvcnRpYy45LmFzcHgKCi0tLQoKLSAqKkltcGFjdCBvZiB0dW1vciBzaXplIG9uIHN1cnZpdmFsIG9mIHBhdGllbnRzIHdpdGggcmVzZWN0ZWQgcGFuY3JlYXRpYyBkdWN0YWwgYWRlbm9jYXJjaW5vbWE6IGEgc3lzdGVtYXRpYyByZXZpZXcgYW5kIG1ldGEtYW5hbHlzaXMqKgogICAgCmh0dHBzOi8vYm1jY2FuY2VyLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEyODg1LTAxOC00OTAxLTkKCi0tLQoKLSAqKkJpb21hcmtlciBwYW5lbCBwcmVkaWN0cyBzdXJ2aXZhbCBhZnRlciByZXNlY3Rpb24gaW4gcGFuY3JlYXRpYyBkdWN0YWwgYWRlbm9jYXJjaW5vbWE6IEEgbXVsdGktaW5zdGl0dXRpb25hbCBjb2hvcnQgc3R1ZHkqKgogICAgCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI4MjQ2OTc5X0Jpb21hcmtlcl9wYW5lbF9wcmVkaWN0c19zdXJ2aXZhbF9hZnRlcl9yZXNlY3Rpb25faW5fcGFuY3JlYXRpY19kdWN0YWxfYWRlbm9jYXJjaW5vbWFfQV9tdWx0aS1pbnN0aXR1dGlvbmFsX2NvaG9ydF9zdHVkeQoKLS0tCgotLS0KICAgIAogICAgCi0gKipUaGUgTmV3IEFtZXJpY2FuIEpvaW50IENvbW1pdHRlZSBvbiBDYW5jZXIgVE5NIFN0YWdpbmcgU3lzdGVtIGZvciBQYW5jcmVhdGljIENhbmNlcuKAlEJhbGFuY2luZyBVc2VmdWxuZXNzIFdpdGggUHJvZ25vc3RpY2F0aW9uKioKICAgIApodHRwczovL2phbWFuZXR3b3JrLmNvbS9qb3VybmFscy9qYW1hc3VyZ2VyeS9mdWxsYXJ0aWNsZS8yNzA1MjkzCgoKLS0tCiAgICAKLSAqKkludGVybmF0aW9uYWwgVmFsaWRhdGlvbiBvZiB0aGUgRWlnaHRoIEVkaXRpb24gb2YgdGhlIEFtZXJpY2FuIEpvaW50IENvbW1pdHRlZSBvbiBDYW5jZXIgKEFKQ0MpIFROTSBTdGFnaW5nIFN5c3RlbSBpbiBQYXRpZW50cyBXaXRoIFJlc2VjdGVkIFBhbmNyZWF0aWMgQ2FuY2VyKioKICAgIAogICAgCmh0dHBzOi8vamFtYW5ldHdvcmsuY29tL2pvdXJuYWxzL2phbWFzdXJnZXJ5L2Z1bGxhcnRpY2xlLzI3MDUyOTYKCgoKLS0tCiAgICAKLSAqKkV2YWx1YXRpb24gb2YgdGhlIHByb2dub3N0aWMgdmFsdWUgb2YgdGhlIG5ldyBBSkNDIDh0aCBlZGl0aW9uIHN0YWdpbmcgc3lzdGVtIGZvciBwYXRpZW50cyB3aXRoIHBhbmNyZWF0aWMgYWRlbm9jYXJjaW5vbWE7IGEgbmVlZCB0byBzdWJjbGFzc2lmeSBzdGFnZSBJSUk/KioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwOTU5ODA0OTE4MzEzNjg2CgoKLS0tCgpgYGB7ciAzMDQ1NzY2NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0NTc2NjYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0NTc2NjYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0NTc2NjYgPC0gcGFzdGUwKFBNSURfMzA0NTc2NjYkam91cm5hbCwnICcsIFBNSURfMzA0NTc2NjYkeWVhciwgJyAnLCBQTUlEXzMwNDU3NjY2JG1vbnRoLCc7JywgUE1JRF8zMDQ1NzY2NiR2b2x1bWUsJygnLCBQTUlEXzMwNDU3NjY2JG51bWJlciwnKTonLCBQTUlEXzMwNDU3NjY2JHBhZ2VzKQoKUHViTWVkXzMwNDU3NjY2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0NTc2NjYkZXByaW50KQoKZG9pXzMwNDU3NjY2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0NTc2NjYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0NTc2NjYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0NTc2NjYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQ1NzY2NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQ1NzY2NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0NTc2NjYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQ1NzY2NiR0aXRsZSAsICIgUE1JRDogMzA0NTc2NjYgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDU3NjY2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0NTc2NjZgKgoKYHIgUHViTWVkXzMwNDU3NjY2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0NTc2NjZgCgpgciBQTUlEXzMwNDU3NjY2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0NTc2NjZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0NTc2NjZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQ1NzY2NmAKCjwvZGV0YWlscz4KCi0tLQoKCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyMgTWFjcm9zY29weSAKCk1hY3Jvc2NvcHkgLyBHcm9zc2luZwoKCmBgYHtyIFMgTWFjcm9zY29weSwgR3Jvc3NpbmcsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMjk2MzAwODcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzI5NjMwMDg3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzI5NjMwMDg3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzI5NjMwMDg3IDwtIHBhc3RlMChQTUlEXzI5NjMwMDg3JGpvdXJuYWwsJyAnLCBQTUlEXzI5NjMwMDg3JHllYXIsICcgJywgUE1JRF8yOTYzMDA4NyRtb250aCwnOycsIFBNSURfMjk2MzAwODckdm9sdW1lLCcoJywgUE1JRF8yOTYzMDA4NyRudW1iZXIsJyk6JywgUE1JRF8yOTYzMDA4NyRwYWdlcykKClB1Yk1lZF8yOTYzMDA4NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzI5NjMwMDg3JGVwcmludCkKCmRvaV8yOTYzMDA4NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzI5NjMwMDg3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzI5NjMwMDg3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzI5NjMwMDg3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMjk2MzAwODcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMjk2MzAwODckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzI5NjMwMDg3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMjk2MzAwODckdGl0bGUgLCAiIFBNSUQ6IDI5NjMwMDg3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8yOTYzMDA4NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzI5NjMwMDg3YCoKCmByIFB1Yk1lZF8yOTYzMDA4N2AKCmByIGFkZHRoaXNfaW5saW5lXzI5NjMwMDg3YAoKYHIgUE1JRF8yOTYzMDA4NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzI5NjMwMDg3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzI5NjMwMDg3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMjk2MzAwODdgCgo8L2RldGFpbHM+CgoKCi0tLQoKYGBge3IgMzAzODAxNDMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzgwMTQzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzgwMTQzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzgwMTQzIDwtIHBhc3RlMChQTUlEXzMwMzgwMTQzJGpvdXJuYWwsJyAnLCBQTUlEXzMwMzgwMTQzJHllYXIsICcgJywgUE1JRF8zMDM4MDE0MyRtb250aCwnOycsIFBNSURfMzAzODAxNDMkdm9sdW1lLCcoJywgUE1JRF8zMDM4MDE0MyRudW1iZXIsJyk6JywgUE1JRF8zMDM4MDE0MyRwYWdlcykKClB1Yk1lZF8zMDM4MDE0MyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzgwMTQzJGVwcmludCkKCmRvaV8zMDM4MDE0MyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzgwMTQzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzgwMTQzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzgwMTQzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzODAxNDMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzODAxNDMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzgwMTQzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzODAxNDMkdGl0bGUgLCAiIFBNSUQ6IDMwMzgwMTQzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM4MDE0MyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzgwMTQzYCoKCmByIFB1Yk1lZF8zMDM4MDE0M2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMzgwMTQzYAoKYHIgUE1JRF8zMDM4MDE0MyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzgwMTQzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzgwMTQzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzODAxNDNgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDQwNjQ4MywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0MDY0ODMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0MDY0ODMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0MDY0ODMgPC0gcGFzdGUwKFBNSURfMzA0MDY0ODMkam91cm5hbCwnICcsIFBNSURfMzA0MDY0ODMkeWVhciwgJyAnLCBQTUlEXzMwNDA2NDgzJG1vbnRoLCc7JywgUE1JRF8zMDQwNjQ4MyR2b2x1bWUsJygnLCBQTUlEXzMwNDA2NDgzJG51bWJlciwnKTonLCBQTUlEXzMwNDA2NDgzJHBhZ2VzKQoKUHViTWVkXzMwNDA2NDgzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0MDY0ODMkZXByaW50KQoKZG9pXzMwNDA2NDgzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0MDY0ODMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0MDY0ODMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0MDY0ODMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQwNjQ4MyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQwNjQ4MyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0MDY0ODMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQwNjQ4MyR0aXRsZSAsICIgUE1JRDogMzA0MDY0ODMgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDA2NDgzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0MDY0ODNgKgoKYHIgUHViTWVkXzMwNDA2NDgzYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0MDY0ODNgCgpgciBQTUlEXzMwNDA2NDgzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0MDY0ODNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0MDY0ODNgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQwNjQ4M2AKCjwvZGV0YWlscz4KCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIFByZW5lb3BsYXN0aWMgYW5kIFByZWludmFzaXZlIExlc2lvbnMgCgpQcmVuZW9wbGFzdGljIGFuZCBQcmVpbnZhc2l2ZSBMZXNpb25zLCBQYW5JTiwgSVBNTiwgTUNOLCBJQ1BOCgpgYGB7ciBTIFBhbmNyZWFzIFByZW5lb3BsYXN0aWMgYW5kIFByZWludmFzaXZlIExlc2lvbnMgSVBNTiwgTUNOLCBJVFBOLCAgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgogICAgCiAgICAKLSAqKkNhbmNlcml6YXRpb24gb2YgdGhlIFBhbmNyZWF0aWMgRHVjdHM6IERlbW9uc3RyYXRpb24gb2YgYSBDb21tb24gYW5kIFVuZGVyLXJlY29nbml6ZWQgUHJvY2VzcyBVc2luZyBJbW11bm9sYWJlbGluZyBvZiBQYWlyZWQgRHVjdCBMZXNpb25zIGFuZCBJbnZhc2l2ZSBQYW5jcmVhdGljIER1Y3RhbCBBZGVub2NhcmNpbm9tYSBmb3IgcDUzIGFuZCBTbWFkNCBFeHByZXNzaW9uKioKICAgIApodHRwczovL2pvdXJuYWxzLmx3dy5jb20vYWpzcC9GdWxsdGV4dC8yMDE4LzExMDAwL0NhbmNlcml6YXRpb25fb2ZfdGhlX1BhbmNyZWF0aWNfRHVjdHNfLjE2LmFzcHgKCgoKCi0tLQoKYGBge3IgMzAzNTc5NjIsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzU3OTYyIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzU3OTYyJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzU3OTYyIDwtIHBhc3RlMChQTUlEXzMwMzU3OTYyJGpvdXJuYWwsJyAnLCBQTUlEXzMwMzU3OTYyJHllYXIsICcgJywgUE1JRF8zMDM1Nzk2MiRtb250aCwnOycsIFBNSURfMzAzNTc5NjIkdm9sdW1lLCcoJywgUE1JRF8zMDM1Nzk2MiRudW1iZXIsJyk6JywgUE1JRF8zMDM1Nzk2MiRwYWdlcykKClB1Yk1lZF8zMDM1Nzk2MiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzU3OTYyJGVwcmludCkKCmRvaV8zMDM1Nzk2MiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzU3OTYyJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzU3OTYyIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzU3OTYyJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzNTc5NjIgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzNTc5NjIkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzU3OTYyIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzNTc5NjIkdGl0bGUgLCAiIFBNSUQ6IDMwMzU3OTYyICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM1Nzk2MiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzU3OTYyYCoKCmByIFB1Yk1lZF8zMDM1Nzk2MmAKCmByIGFkZHRoaXNfaW5saW5lXzMwMzU3OTYyYAoKYHIgUE1JRF8zMDM1Nzk2MiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzU3OTYyYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzU3OTYyYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzNTc5NjJgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDM0MjAzNiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzNDIwMzYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzNDIwMzYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzNDIwMzYgPC0gcGFzdGUwKFBNSURfMzAzNDIwMzYkam91cm5hbCwnICcsIFBNSURfMzAzNDIwMzYkeWVhciwgJyAnLCBQTUlEXzMwMzQyMDM2JG1vbnRoLCc7JywgUE1JRF8zMDM0MjAzNiR2b2x1bWUsJygnLCBQTUlEXzMwMzQyMDM2JG51bWJlciwnKTonLCBQTUlEXzMwMzQyMDM2JHBhZ2VzKQoKUHViTWVkXzMwMzQyMDM2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzNDIwMzYkZXByaW50KQoKZG9pXzMwMzQyMDM2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzNDIwMzYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzNDIwMzYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzNDIwMzYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM0MjAzNiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM0MjAzNiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzNDIwMzYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM0MjAzNiR0aXRsZSAsICIgUE1JRDogMzAzNDIwMzYgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzQyMDM2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzNDIwMzZgKgoKYHIgUHViTWVkXzMwMzQyMDM2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzNDIwMzZgCgpgciBQTUlEXzMwMzQyMDM2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzNDIwMzZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzNDIwMzZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM0MjAzNmAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwMzU3NTc2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDM1NzU3NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDM1NzU3NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDM1NzU3NiA8LSBwYXN0ZTAoUE1JRF8zMDM1NzU3NiRqb3VybmFsLCcgJywgUE1JRF8zMDM1NzU3NiR5ZWFyLCAnICcsIFBNSURfMzAzNTc1NzYkbW9udGgsJzsnLCBQTUlEXzMwMzU3NTc2JHZvbHVtZSwnKCcsIFBNSURfMzAzNTc1NzYkbnVtYmVyLCcpOicsIFBNSURfMzAzNTc1NzYkcGFnZXMpCgpQdWJNZWRfMzAzNTc1NzYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDM1NzU3NiRlcHJpbnQpCgpkb2lfMzAzNTc1NzYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDM1NzU3NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDM1NzU3NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDM1NzU3NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzU3NTc2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzU3NTc2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDM1NzU3NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzU3NTc2JHRpdGxlICwgIiBQTUlEOiAzMDM1NzU3NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzNTc1NzYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDM1NzU3NmAqCgpgciBQdWJNZWRfMzAzNTc1NzZgCgpgciBhZGR0aGlzX2lubGluZV8zMDM1NzU3NmAKCmByIFBNSURfMzAzNTc1NzYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDM1NzU3NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDM1NzU3NmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzU3NTc2YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqQ2xpbmljYWwgTWFuYWdlbWVudCBhbmQgU3VyZ2ljYWwgRGVjaXNpb24tTWFraW5nIG9mIElQTU4gb2YgdGhlIFBhbmNyZWFzKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vcHJvdG9jb2wvMTAuMTAwNy85NzgtMS00OTM5LTg4NzktMl8yCgoKLS0tCgpgYGB7ciAzMDM5MTIwOSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzOTEyMDkgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzOTEyMDknLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzOTEyMDkgPC0gcGFzdGUwKFBNSURfMzAzOTEyMDkkam91cm5hbCwnICcsIFBNSURfMzAzOTEyMDkkeWVhciwgJyAnLCBQTUlEXzMwMzkxMjA5JG1vbnRoLCc7JywgUE1JRF8zMDM5MTIwOSR2b2x1bWUsJygnLCBQTUlEXzMwMzkxMjA5JG51bWJlciwnKTonLCBQTUlEXzMwMzkxMjA5JHBhZ2VzKQoKUHViTWVkXzMwMzkxMjA5IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzOTEyMDkkZXByaW50KQoKZG9pXzMwMzkxMjA5IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzOTEyMDkkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzOTEyMDkgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzOTEyMDkkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM5MTIwOSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM5MTIwOSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzOTEyMDkgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM5MTIwOSR0aXRsZSAsICIgUE1JRDogMzAzOTEyMDkgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzkxMjA5JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzOTEyMDlgKgoKYHIgUHViTWVkXzMwMzkxMjA5YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzOTEyMDlgCgpgciBQTUlEXzMwMzkxMjA5JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzOTEyMDlgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzOTEyMDlgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM5MTIwOWAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwMzY2ODgxLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDM2Njg4MSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDM2Njg4MScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDM2Njg4MSA8LSBwYXN0ZTAoUE1JRF8zMDM2Njg4MSRqb3VybmFsLCcgJywgUE1JRF8zMDM2Njg4MSR5ZWFyLCAnICcsIFBNSURfMzAzNjY4ODEkbW9udGgsJzsnLCBQTUlEXzMwMzY2ODgxJHZvbHVtZSwnKCcsIFBNSURfMzAzNjY4ODEkbnVtYmVyLCcpOicsIFBNSURfMzAzNjY4ODEkcGFnZXMpCgpQdWJNZWRfMzAzNjY4ODEgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDM2Njg4MSRlcHJpbnQpCgpkb2lfMzAzNjY4ODEgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDM2Njg4MSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDM2Njg4MSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDM2Njg4MSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzY2ODgxIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzY2ODgxJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDM2Njg4MSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzY2ODgxJHRpdGxlICwgIiBQTUlEOiAzMDM2Njg4MSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzNjY4ODEkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDM2Njg4MWAqCgpgciBQdWJNZWRfMzAzNjY4ODFgCgpgciBhZGR0aGlzX2lubGluZV8zMDM2Njg4MWAKCmByIFBNSURfMzAzNjY4ODEkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDM2Njg4MWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDM2Njg4MWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzY2ODgxYAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzA0MTM4MjIsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDEzODIyIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDEzODIyJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDEzODIyIDwtIHBhc3RlMChQTUlEXzMwNDEzODIyJGpvdXJuYWwsJyAnLCBQTUlEXzMwNDEzODIyJHllYXIsICcgJywgUE1JRF8zMDQxMzgyMiRtb250aCwnOycsIFBNSURfMzA0MTM4MjIkdm9sdW1lLCcoJywgUE1JRF8zMDQxMzgyMiRudW1iZXIsJyk6JywgUE1JRF8zMDQxMzgyMiRwYWdlcykKClB1Yk1lZF8zMDQxMzgyMiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDEzODIyJGVwcmludCkKCmRvaV8zMDQxMzgyMiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDEzODIyJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDEzODIyIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDEzODIyJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0MTM4MjIgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0MTM4MjIkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDEzODIyIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0MTM4MjIkdGl0bGUgLCAiIFBNSUQ6IDMwNDEzODIyICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQxMzgyMiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDEzODIyYCoKCmByIFB1Yk1lZF8zMDQxMzgyMmAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDEzODIyYAoKYHIgUE1JRF8zMDQxMzgyMiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDEzODIyYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDEzODIyYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0MTM4MjJgCgo8L2RldGFpbHM+CgotLS0KCi0gKipBZGp1dmFudCBjaGVtb3RoZXJhcHkgaXMgYXNzb2NpYXRlZCB3aXRoIGltcHJvdmVkIHBvc3RvcGVyYXRpdmUgc3Vydml2YWwgaW4gc3BlY2lmaWMgc3VidHlwZXMgb2YgaW52YXNpdmUgaW50cmFkdWN0YWwgcGFwaWxsYXJ5IG11Y2lub3VzIG5lb3BsYXNtcyAoSVBNTikgb2YgdGhlIHBhbmNyZWFzOiBpdCBpcyB0aW1lIGZvciByYW5kb21pemVkIGNvbnRyb2xsZWQgZGF0YSoqCiAgICAKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL2Ficy9waWkvUzEzNjUxODJYMTgzNDQ2MzAKCi0tLQoKCi0gKipDeXN0IGxvY2F0aW9uIGFuZCBwcmVzZW5jZSBvZiBoaWdoIGdyYWRlIGR5c3BsYXNpYSBvciBpbnZhc2l2ZSBjYW5jZXIgaW4gaW50cmFkdWN0YWwgcGFwaWxsYXJ5IG11Y2lub3VzIG5lb3BsYXNtcyBvZiB0aGUgcGFuY3JlYXM6IGEgc2V2ZW4gaW5zdGl0dXRpb24gc3R1ZHkgZnJvbSB0aGUgY2VudHJhbCBwYW5jcmVhcyBjb25zb3J0aXVtKioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvYWJzL3BpaS9TMTM2NTE4MlgxODM0NDY4WAoKCi0tLQoKLSAqKkludHJhZHVjdGFsIHBhcGlsbGFyeSBtdWNpbm91cyBuZW9wbGFzbSB0byBwYW5jcmVhcyBkdWN0YWwgYWRlbm9jYXJjaW5vbWEgc2VxdWVuY2UgYW5kIHBhbmNyZWFzIGNhbmNlciBzY3JlZW5pbmcqKgogICAgCmh0dHA6Ly93d3cuZXVzam91cm5hbC5jb20vYXJ0aWNsZS5hc3A/aXNzbj0yMzAzLTkwMjc7eWVhcj0yMDE4O3ZvbHVtZT03O2lzc3VlPTU7c3BhZ2U9MzE0O2VwYWdlPTMxODthdWxhc3Q9RmFycmVsbAoKLS0tCgotICoqSGlzdG8tbW9sZWN1bGFyIG9uY29nZW5lc2lzIG9mIHBhbmNyZWF0aWMgY2FuY2VyOiBGcm9tIHByZWNhbmNlcm91cyBsZXNpb25zIHRvIGludmFzaXZlIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSoqCiAgICAKaHR0cHM6Ly93d3cud2pnbmV0LmNvbS8xOTQ4LTUyMDQvZnVsbC92MTAvaTEwLzMxNy5odG0KCgotLS0KCi0gKipBbiBleHRyZW1lbHkgcmFyZSBjYXNlIHdobyB1bmRlcndlbnQgdG90YWwgcmVtbmFudCBwYW5jcmVhdGVjdG9teSBkdWUgdG8gcmVjdXJyZW50IHBhbmNyZWF0aWMgbWV0YXN0YXNpcyBvZiBpbnRyYWR1Y3RhbCB0dWJ1bG9wYXBpbGxhcnkgbmVvcGxhc20qKgogICAgCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MxMjMyOC0wMTgtMDkxMy14CgoKLS0tCgotICoqVG90YWwgUGFuY3JlYXRlY3RvbXkgZm9yIFByZXN1bWVkIEludHJhZHVjdGFsIFBhcGlsbGFyeSBNdWNpbm91cyBOZW9wbGFzbXM6IEEgTXVsdGljZW50cmljIFN0dWR5IG9mIHRoZSBGcmVuY2ggU3VyZ2ljYWwgQXNzb2NpYXRpb24gKEFGQykqKgogICAgCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9hbm5hbHNvZnN1cmdlcnkvQWJzdHJhY3QvMjAxOC8xMTAwMC9Ub3RhbF9QYW5jcmVhdGVjdG9teV9mb3JfUHJlc3VtZWRfSW50cmFkdWN0YWwuMTcuYXNweAoKCi0tLQoKYGBge3IgMzA0NTE3OTUsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDUxNzk1IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDUxNzk1JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDUxNzk1IDwtIHBhc3RlMChQTUlEXzMwNDUxNzk1JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDUxNzk1JHllYXIsICcgJywgUE1JRF8zMDQ1MTc5NSRtb250aCwnOycsIFBNSURfMzA0NTE3OTUkdm9sdW1lLCcoJywgUE1JRF8zMDQ1MTc5NSRudW1iZXIsJyk6JywgUE1JRF8zMDQ1MTc5NSRwYWdlcykKClB1Yk1lZF8zMDQ1MTc5NSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDUxNzk1JGVwcmludCkKCmRvaV8zMDQ1MTc5NSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDUxNzk1JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDUxNzk1IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDUxNzk1JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0NTE3OTUgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0NTE3OTUkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDUxNzk1IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0NTE3OTUkdGl0bGUgLCAiIFBNSUQ6IDMwNDUxNzk1ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQ1MTc5NSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDUxNzk1YCoKCmByIFB1Yk1lZF8zMDQ1MTc5NWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDUxNzk1YAoKYHIgUE1JRF8zMDQ1MTc5NSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDUxNzk1YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDUxNzk1YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0NTE3OTVgCgo8L2RldGFpbHM+CgotLS0KCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIE1pY3JvZW52aXJvbm1lbnQgCgpUdW1vciBTdHJvbWEgSW50ZXJhY3Rpb25zLCBNaWNyb2Vudmlyb25tZW50LCBJbmZsYW1tYXRvcnkgUmVzcG9uc2UKCmBgYHtyIFMgVHVtb3IgU3Ryb21hIEludGVyYWN0aW9ucyBNaWNyb2Vudmlyb25tZW50IEluZmxhbW1hdG9yeSBSZXNwb25zZSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgpgYGB7ciAzMDQ1MTc5NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0NTE3OTYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0NTE3OTYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0NTE3OTYgPC0gcGFzdGUwKFBNSURfMzA0NTE3OTYkam91cm5hbCwnICcsIFBNSURfMzA0NTE3OTYkeWVhciwgJyAnLCBQTUlEXzMwNDUxNzk2JG1vbnRoLCc7JywgUE1JRF8zMDQ1MTc5NiR2b2x1bWUsJygnLCBQTUlEXzMwNDUxNzk2JG51bWJlciwnKTonLCBQTUlEXzMwNDUxNzk2JHBhZ2VzKQoKUHViTWVkXzMwNDUxNzk2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0NTE3OTYkZXByaW50KQoKZG9pXzMwNDUxNzk2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0NTE3OTYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0NTE3OTYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0NTE3OTYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQ1MTc5NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQ1MTc5NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0NTE3OTYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQ1MTc5NiR0aXRsZSAsICIgUE1JRDogMzA0NTE3OTYgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDUxNzk2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0NTE3OTZgKgoKYHIgUHViTWVkXzMwNDUxNzk2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0NTE3OTZgCgpgciBQTUlEXzMwNDUxNzk2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0NTE3OTZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0NTE3OTZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQ1MTc5NmAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzA0NTE3OTgsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDUxNzk4IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDUxNzk4JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDUxNzk4IDwtIHBhc3RlMChQTUlEXzMwNDUxNzk4JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDUxNzk4JHllYXIsICcgJywgUE1JRF8zMDQ1MTc5OCRtb250aCwnOycsIFBNSURfMzA0NTE3OTgkdm9sdW1lLCcoJywgUE1JRF8zMDQ1MTc5OCRudW1iZXIsJyk6JywgUE1JRF8zMDQ1MTc5OCRwYWdlcykKClB1Yk1lZF8zMDQ1MTc5OCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDUxNzk4JGVwcmludCkKCmRvaV8zMDQ1MTc5OCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDUxNzk4JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDUxNzk4IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDUxNzk4JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0NTE3OTggPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0NTE3OTgkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDUxNzk4IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0NTE3OTgkdGl0bGUgLCAiIFBNSUQ6IDMwNDUxNzk4ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQ1MTc5OCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDUxNzk4YCoKCmByIFB1Yk1lZF8zMDQ1MTc5OGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDUxNzk4YAoKYHIgUE1JRF8zMDQ1MTc5OCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDUxNzk4YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDUxNzk4YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0NTE3OThgCgo8L2RldGFpbHM+CgotLS0KCi0gKipQRC1MMSBleHByZXNzaW9uIGluIHBhbmNyZWF0aWMgYWRlbm9zcXVhbW91cyBjYXJjaW5vbWE6IFBELUwxIGV4cHJlc3Npb24gaXMgbGltaXRlZCB0byB0aGUgc3F1YW1vdXMgY29tcG9uZW50KioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMzQ0MDMzODE4MzA3MDc2CgotLS0KCgotICoqQ3VycmVudCBhcHByb2FjaGVzIHRvIGltbXVub3RoZXJhcHkgaW4gbm9uY29sb3JlY3RhbCBnYXN0cm9pbnRlc3RpbmFsIG1hbGlnbmFuY2llcyoqCiAgICAKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wbWMvYXJ0aWNsZXMvUE1DNjE3Mzk0Mi8KCi0tLQoKLSAqKkVwaXRoZWxpYWwtU3Ryb21hbCBJbnRlcmFjdGlvbnMgaW4gUGFuY3JlYXRpYyBDYW5jZXIqKgoKaHR0cHM6Ly93d3cuYW5udWFscmV2aWV3cy5vcmcvZG9pL2Ficy8xMC4xMTQ2L2FubnVyZXYtcGh5c2lvbC0wMjA1MTgtMTE0NTE1CgoKLS0tCgpgYGB7ciAzMDQxNTIzNCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0MTUyMzQgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0MTUyMzQnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0MTUyMzQgPC0gcGFzdGUwKFBNSURfMzA0MTUyMzQkam91cm5hbCwnICcsIFBNSURfMzA0MTUyMzQkeWVhciwgJyAnLCBQTUlEXzMwNDE1MjM0JG1vbnRoLCc7JywgUE1JRF8zMDQxNTIzNCR2b2x1bWUsJygnLCBQTUlEXzMwNDE1MjM0JG51bWJlciwnKTonLCBQTUlEXzMwNDE1MjM0JHBhZ2VzKQoKUHViTWVkXzMwNDE1MjM0IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0MTUyMzQkZXByaW50KQoKZG9pXzMwNDE1MjM0IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0MTUyMzQkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0MTUyMzQgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0MTUyMzQkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQxNTIzNCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQxNTIzNCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0MTUyMzQgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQxNTIzNCR0aXRsZSAsICIgUE1JRDogMzA0MTUyMzQgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDE1MjM0JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0MTUyMzRgKgoKYHIgUHViTWVkXzMwNDE1MjM0YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0MTUyMzRgCgpgciBQTUlEXzMwNDE1MjM0JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0MTUyMzRgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0MTUyMzRgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQxNTIzNGAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkFicm9nYXRpb24gb2YgZ2x1dGF0aGlvbmUgcGVyb3hpZGFzZS0xIGRyaXZlcyBFTVQgYW5kIGNoZW1vcmVzaXN0YW5jZSBpbiBwYW5jcmVhdGljIGNhbmNlciBieSBhY3RpdmF0aW5nIFJPUy1tZWRpYXRlZCBBa3QvR1NLM86yL1NuYWlsIHNpZ25hbGluZyoqCgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzODgtMDE4LTAzOTItegoKCi0tLQoKLSAqKk5lb2VwaXRvcGUgdGFyZ2V0cyBvZiB0dW1vdXItaW5maWx0cmF0aW5nIGx5bXBob2N5dGVzIGZyb20gcGF0aWVudHMgd2l0aCBwYW5jcmVhdGljIGNhbmNlcioqCgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE0MTYtMDE4LTAyNjItegoKCi0tLQoKLSAqKlR5cGluZyBvZiBwYW5jcmVhdGljIGNhbmNlci1hc3NvY2lhdGVkIGZpYnJvYmxhc3RzIGlkZW50aWZpZXMgZGlmZmVyZW50IHN1YnBvcHVsYXRpb25zKioKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcG1jL2FydGljbGVzL1BNQzYyMjQ0NzMvCgotLS0KCi0gKipQYW5jcmVhdGljIENhbmNlciBTdWJ0eXBlczogQmV5b25kIEx1bXBpbmcgYW5kIFNwbGl0dGluZyoqCgpodHRwczovL3d3dy5nYXN0cm9qb3VybmFsLm9yZy9hcnRpY2xlL1MwMDE2LTUwODUoMTgpMzUyMTMtMi9wZGYKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwNDE5MjA5CgoKLS0tCgpgYGB7ciAzMDQ1NTg1NywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0NTU4NTcgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0NTU4NTcnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0NTU4NTcgPC0gcGFzdGUwKFBNSURfMzA0NTU4NTckam91cm5hbCwnICcsIFBNSURfMzA0NTU4NTckeWVhciwgJyAnLCBQTUlEXzMwNDU1ODU3JG1vbnRoLCc7JywgUE1JRF8zMDQ1NTg1NyR2b2x1bWUsJygnLCBQTUlEXzMwNDU1ODU3JG51bWJlciwnKTonLCBQTUlEXzMwNDU1ODU3JHBhZ2VzKQoKUHViTWVkXzMwNDU1ODU3IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0NTU4NTckZXByaW50KQoKZG9pXzMwNDU1ODU3IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0NTU4NTckZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0NTU4NTcgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0NTU4NTckZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQ1NTg1NyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQ1NTg1NyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0NTU4NTcgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQ1NTg1NyR0aXRsZSAsICIgUE1JRDogMzA0NTU4NTcgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDU1ODU3JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0NTU4NTdgKgoKYHIgUHViTWVkXzMwNDU1ODU3YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0NTU4NTdgCgpgciBQTUlEXzMwNDU1ODU3JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0NTU4NTdgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0NTU4NTdgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQ1NTg1N2AKCjwvZGV0YWlscz4KCi0tLQoKLSAqKlBhbmNyZWF0aWMgc3RlbGxhdGUgY2VsbHMgZGVyaXZlZCBmcm9tIGh1bWFuIHBhbmNyZWF0aWMgY2FuY2VyIGRlbW9uc3RyYXRlIGFiZXJyYW50IFNQQVJDLWRlcGVuZGVudCBFQ00gcmVtb2RlbGluZyBpbiAzRCBlbmdpbmVlcmVkIGZpYnJvdGljIHRpc3N1ZSBvZiBjbGluaWNhbGx5IHJlbGV2YW50IHRoaWNrbmVzcyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMTQyOTYxMjE4MzA4MDA3CgoKLS0tCgotICoqQ01WIGFuZCBFQlYgdGFyZ2V0cyByZWNvZ25pemVkIGJ5IHR1bW9yLWluZmlsdHJhdGluZyBCIGx5bXBob2N5dGVzIGluIHBhbmNyZWF0aWMgY2FuY2VyIGFuZCBicmFpbiB0dW1vcnMqKgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE1OTgtMDE4LTM0NzEwLTIKCgoKLS0tCgoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIFNQTgoKU29saWQgUHNldWRvcGFwaWxsYXJ5IE5lb3BsYXNtCgpgYGB7ciBTIFNQTiBTb2xpZCBQc2V1ZG9wYXBpbGxhcnkgTmVvcGxhc20sIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzAyNzUwOTcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMjc1MDk3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMjc1MDk3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMjc1MDk3IDwtIHBhc3RlMChQTUlEXzMwMjc1MDk3JGpvdXJuYWwsJyAnLCBQTUlEXzMwMjc1MDk3JHllYXIsICcgJywgUE1JRF8zMDI3NTA5NyRtb250aCwnOycsIFBNSURfMzAyNzUwOTckdm9sdW1lLCcoJywgUE1JRF8zMDI3NTA5NyRudW1iZXIsJyk6JywgUE1JRF8zMDI3NTA5NyRwYWdlcykKClB1Yk1lZF8zMDI3NTA5NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMjc1MDk3JGVwcmludCkKCmRvaV8zMDI3NTA5NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMjc1MDk3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMjc1MDk3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMjc1MDk3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAyNzUwOTcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAyNzUwOTckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMjc1MDk3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAyNzUwOTckdGl0bGUgLCAiIFBNSUQ6IDMwMjc1MDk3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDI3NTA5NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMjc1MDk3YCoKCmByIFB1Yk1lZF8zMDI3NTA5N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMjc1MDk3YAoKYHIgUE1JRF8zMDI3NTA5NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMjc1MDk3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMjc1MDk3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAyNzUwOTdgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDMyNTg2NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzMjU4NjYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzMjU4NjYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzMjU4NjYgPC0gcGFzdGUwKFBNSURfMzAzMjU4NjYkam91cm5hbCwnICcsIFBNSURfMzAzMjU4NjYkeWVhciwgJyAnLCBQTUlEXzMwMzI1ODY2JG1vbnRoLCc7JywgUE1JRF8zMDMyNTg2NiR2b2x1bWUsJygnLCBQTUlEXzMwMzI1ODY2JG51bWJlciwnKTonLCBQTUlEXzMwMzI1ODY2JHBhZ2VzKQoKUHViTWVkXzMwMzI1ODY2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzMjU4NjYkZXByaW50KQoKZG9pXzMwMzI1ODY2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzMjU4NjYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzMjU4NjYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzMjU4NjYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDMyNTg2NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDMyNTg2NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzMjU4NjYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDMyNTg2NiR0aXRsZSAsICIgUE1JRDogMzAzMjU4NjYgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzI1ODY2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzMjU4NjZgKgoKYHIgUHViTWVkXzMwMzI1ODY2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzMjU4NjZgCgpgciBQTUlEXzMwMzI1ODY2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzMjU4NjZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzMjU4NjZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDMyNTg2NmAKClNvbGlkIFBzZXVkb3BhcGlsbGFyeSBOZW9wbGFzbSBvZiB0aGUgUGFuY3JlYXMgaW4gYSBZb3VuZyBQZWRpYXRyaWMgUGF0aWVudDogQSBDYXNlIFJlcG9ydCBhbmQgU3lzdGVtYXRpYyBSZXZpZXcgb2YgdGhlIExpdGVyYXR1cmUuCgpodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8/dGVybT0zMDMyNTg2NgoKPC9kZXRhaWxzPgoKLS0tCgotICoqU3VwcHJlc3Npb24gb2Ygc3Ryb21hbC1kZXJpdmVkIERpY2trb3BmLTMgKERLSzMpIGluaGliaXRzIHR1bW9yIHByb2dyZXNzaW9uIGFuZCBwcm9sb25ncyBzdXJ2aXZhbCBpbiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSoqCgoKaHR0cDovL3N0bS5zY2llbmNlbWFnLm9yZy9jb250ZW50LzEwLzQ2NC9lYWF0MzQ4NwoKCi0tLQoKICAgIAotICoqU29saWQgUHNldWRvcGFwaWxsYXJ5IE5lb3BsYXNtIG9mIHRoZSBQYW5jcmVhcyBpbiBhIFlvdW5nIFBlZGlhdHJpYyBQYXRpZW50OiBBIENhc2UgUmVwb3J0IGFuZCBTeXN0ZW1hdGljIFJldmlldyBvZiB0aGUgTGl0ZXJhdHVyZS4qKgogICAgCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzMwMzI1ODY2CgotLS0KCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgQW5hbG9ndWUgVHVtb3JzCgoKYGBge3IgTyBQYW5jcmVhcyBBbmFsb2d1ZSBUdW1vcnMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKCiMjIyMgU0NBCgoKYGBge3IgUGFuY3JlYXMgU0NBIFNlcm91cyBOZW9wbGFzbXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKLSAqKlNlcm91cyBjeXN0YWRlbm9tYSBvZiBwYW5jcmVhczogQSBjbGluaWNvcGF0aG9sb2dpYyBleHBlcmllbmNlIG9mIDIzIGNhc2VzIGZyb20gYSBtYWpvciB0ZXJ0aWFyeSBjYXJlIGNlbnRlcioqCgpodHRwczovL2pvdXJuYWxzLnNhZ2VwdWIuY29tL2RvaS9wZGYvMTAuMTE3Ny8yMDM2MzYxMzE4ODA5MTgzCgoKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIyBQYW5jcmVhdGl0aXMgJiBPdGhlciBEaXNlYXNlcwoKYGBge3IgUGFuY3JlYXMgUGFuY3JlYXRpdGlzICYgT3RoZXIgRGlzZWFzZXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKLSAqKk1vcnBob2xvZ2ljIE92ZXJsYXAgQmV0d2VlbiBJbmZsYW1tYXRvcnkgTXlvZmlicm9ibGFzdGljIFR1bW9yIGFuZCBJZ0c0LXJlbGF0ZWQgRGlzZWFzZSBMZXNzb25zIEZyb20gTmV4dC1nZW5lcmF0aW9uIFNlcXVlbmNpbmcqKgoKaHR0cHM6Ly9qb3VybmFscy5sd3cuY29tL2Fqc3AvQWJzdHJhY3QvcHVibGlzaGFoZWFkL01vcnBob2xvZ2ljX092ZXJsYXBfQmV0d2Vlbl9JbmZsYW1tYXRvcnkuOTc3NDEuYXNweAoKLS0tCgpgYGB7ciAzMDI4NjAxMCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAyODYwMTAgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAyODYwMTAnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAyODYwMTAgPC0gcGFzdGUwKFBNSURfMzAyODYwMTAkam91cm5hbCwnICcsIFBNSURfMzAyODYwMTAkeWVhciwgJyAnLCBQTUlEXzMwMjg2MDEwJG1vbnRoLCc7JywgUE1JRF8zMDI4NjAxMCR2b2x1bWUsJygnLCBQTUlEXzMwMjg2MDEwJG51bWJlciwnKTonLCBQTUlEXzMwMjg2MDEwJHBhZ2VzKQoKUHViTWVkXzMwMjg2MDEwIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAyODYwMTAkZXByaW50KQoKZG9pXzMwMjg2MDEwIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAyODYwMTAkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAyODYwMTAgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAyODYwMTAkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDI4NjAxMCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDI4NjAxMCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAyODYwMTAgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDI4NjAxMCR0aXRsZSAsICIgUE1JRDogMzAyODYwMTAgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMjg2MDEwJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAyODYwMTBgKgoKYHIgUHViTWVkXzMwMjg2MDEwYAoKYHIgYWRkdGhpc19pbmxpbmVfMzAyODYwMTBgCgpgciBQTUlEXzMwMjg2MDEwJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAyODYwMTBgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAyODYwMTBgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDI4NjAxMGAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzAyNzQ4ODMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMjc0ODgzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMjc0ODgzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMjc0ODgzIDwtIHBhc3RlMChQTUlEXzMwMjc0ODgzJGpvdXJuYWwsJyAnLCBQTUlEXzMwMjc0ODgzJHllYXIsICcgJywgUE1JRF8zMDI3NDg4MyRtb250aCwnOycsIFBNSURfMzAyNzQ4ODMkdm9sdW1lLCcoJywgUE1JRF8zMDI3NDg4MyRudW1iZXIsJyk6JywgUE1JRF8zMDI3NDg4MyRwYWdlcykKClB1Yk1lZF8zMDI3NDg4MyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMjc0ODgzJGVwcmludCkKCmRvaV8zMDI3NDg4MyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMjc0ODgzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMjc0ODgzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMjc0ODgzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAyNzQ4ODMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAyNzQ4ODMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMjc0ODgzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAyNzQ4ODMkdGl0bGUgLCAiIFBNSUQ6IDMwMjc0ODgzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDI3NDg4MyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMjc0ODgzYCoKCmByIFB1Yk1lZF8zMDI3NDg4M2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMjc0ODgzYAoKYHIgUE1JRF8zMDI3NDg4MyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMjc0ODgzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMjc0ODgzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAyNzQ4ODNgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwMjk2NDM4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDI5NjQzOCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDI5NjQzOCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDI5NjQzOCA8LSBwYXN0ZTAoUE1JRF8zMDI5NjQzOCRqb3VybmFsLCcgJywgUE1JRF8zMDI5NjQzOCR5ZWFyLCAnICcsIFBNSURfMzAyOTY0MzgkbW9udGgsJzsnLCBQTUlEXzMwMjk2NDM4JHZvbHVtZSwnKCcsIFBNSURfMzAyOTY0MzgkbnVtYmVyLCcpOicsIFBNSURfMzAyOTY0MzgkcGFnZXMpCgpQdWJNZWRfMzAyOTY0MzggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDI5NjQzOCRlcHJpbnQpCgpkb2lfMzAyOTY0MzggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDI5NjQzOCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDI5NjQzOCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDI5NjQzOCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMjk2NDM4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMjk2NDM4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDI5NjQzOCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMjk2NDM4JHRpdGxlICwgIiBQTUlEOiAzMDI5NjQzOCAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAyOTY0MzgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDI5NjQzOGAqCgpgciBQdWJNZWRfMzAyOTY0MzhgCgpgciBhZGR0aGlzX2lubGluZV8zMDI5NjQzOGAKCmByIFBNSURfMzAyOTY0MzgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDI5NjQzOGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDI5NjQzOGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMjk2NDM4YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAyODk0MzUxMywgaW5jbHVkZT1GQUxTRX0KClBNSURfMjg5NDM1MTMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjg5NDM1MTMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjg5NDM1MTMgPC0gcGFzdGUwKFBNSURfMjg5NDM1MTMkam91cm5hbCwnICcsIFBNSURfMjg5NDM1MTMkeWVhciwgJyAnLCBQTUlEXzI4OTQzNTEzJG1vbnRoLCc7JywgUE1JRF8yODk0MzUxMyR2b2x1bWUsJygnLCBQTUlEXzI4OTQzNTEzJG51bWJlciwnKTonLCBQTUlEXzI4OTQzNTEzJHBhZ2VzKQoKUHViTWVkXzI4OTQzNTEzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjg5NDM1MTMkZXByaW50KQoKZG9pXzI4OTQzNTEzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjg5NDM1MTMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjg5NDM1MTMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjg5NDM1MTMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yODk0MzUxMyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yODk0MzUxMyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjg5NDM1MTMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yODk0MzUxMyR0aXRsZSAsICIgUE1JRDogMjg5NDM1MTMgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI4OTQzNTEzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjg5NDM1MTNgKgoKYHIgUHViTWVkXzI4OTQzNTEzYAoKYHIgYWRkdGhpc19pbmxpbmVfMjg5NDM1MTNgCgpgciBQTUlEXzI4OTQzNTEzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjg5NDM1MTNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjg5NDM1MTNgCgpgciBhbHRtZXRyaWNCYWRnZV8yODk0MzUxM2AKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwMzAyNDM1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDMwMjQzNSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDMwMjQzNScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDMwMjQzNSA8LSBwYXN0ZTAoUE1JRF8zMDMwMjQzNSRqb3VybmFsLCcgJywgUE1JRF8zMDMwMjQzNSR5ZWFyLCAnICcsIFBNSURfMzAzMDI0MzUkbW9udGgsJzsnLCBQTUlEXzMwMzAyNDM1JHZvbHVtZSwnKCcsIFBNSURfMzAzMDI0MzUkbnVtYmVyLCcpOicsIFBNSURfMzAzMDI0MzUkcGFnZXMpCgpQdWJNZWRfMzAzMDI0MzUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDMwMjQzNSRlcHJpbnQpCgpkb2lfMzAzMDI0MzUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDMwMjQzNSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDMwMjQzNSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDMwMjQzNSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzAyNDM1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzAyNDM1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDMwMjQzNSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzAyNDM1JHRpdGxlICwgIiBQTUlEOiAzMDMwMjQzNSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzMDI0MzUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDMwMjQzNWAqCgpgciBQdWJNZWRfMzAzMDI0MzVgCgpgciBhZGR0aGlzX2lubGluZV8zMDMwMjQzNWAKCmByIFBNSURfMzAzMDI0MzUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDMwMjQzNWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDMwMjQzNWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzAyNDM1YAoKPC9kZXRhaWxzPgoKCi0tLQoKCmBgYHtyIDMwMzE1Nzc5LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDMxNTc3OSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDMxNTc3OScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDMxNTc3OSA8LSBwYXN0ZTAoUE1JRF8zMDMxNTc3OSRqb3VybmFsLCcgJywgUE1JRF8zMDMxNTc3OSR5ZWFyLCAnICcsIFBNSURfMzAzMTU3NzkkbW9udGgsJzsnLCBQTUlEXzMwMzE1Nzc5JHZvbHVtZSwnKCcsIFBNSURfMzAzMTU3NzkkbnVtYmVyLCcpOicsIFBNSURfMzAzMTU3NzkkcGFnZXMpCgpQdWJNZWRfMzAzMTU3NzkgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDMxNTc3OSRlcHJpbnQpCgpkb2lfMzAzMTU3NzkgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDMxNTc3OSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDMxNTc3OSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDMxNTc3OSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzE1Nzc5IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzE1Nzc5JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDMxNTc3OSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzE1Nzc5JHRpdGxlICwgIiBQTUlEOiAzMDMxNTc3OSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzMTU3NzkkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDMxNTc3OWAqCgpgciBQdWJNZWRfMzAzMTU3NzlgCgpgciBhZGR0aGlzX2lubGluZV8zMDMxNTc3OWAKCmByIFBNSURfMzAzMTU3NzkkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDMxNTc3OWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDMxNTc3OWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzE1Nzc5YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzAzMTUyODcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzE1Mjg3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzE1Mjg3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzE1Mjg3IDwtIHBhc3RlMChQTUlEXzMwMzE1Mjg3JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzE1Mjg3JHllYXIsICcgJywgUE1JRF8zMDMxNTI4NyRtb250aCwnOycsIFBNSURfMzAzMTUyODckdm9sdW1lLCcoJywgUE1JRF8zMDMxNTI4NyRudW1iZXIsJyk6JywgUE1JRF8zMDMxNTI4NyRwYWdlcykKClB1Yk1lZF8zMDMxNTI4NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzE1Mjg3JGVwcmludCkKCmRvaV8zMDMxNTI4NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzE1Mjg3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzE1Mjg3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzE1Mjg3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzMTUyODcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzMTUyODckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzE1Mjg3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzMTUyODckdGl0bGUgLCAiIFBNSUQ6IDMwMzE1Mjg3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDMxNTI4NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzE1Mjg3YCoKCmByIFB1Yk1lZF8zMDMxNTI4N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMzE1Mjg3YAoKYHIgUE1JRF8zMDMxNTI4NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzE1Mjg3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzE1Mjg3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzMTUyODdgCgo8L2RldGFpbHM+CgotLS0KCi0gKipTZXJ1bSBhbmQgaGlzdG9sb2dpY2FsIElnRzQtbmVnYXRpdmUgdHlwZSAxIGF1dG9pbW11bmUgcGFuY3JlYXRpdGlzKioKCmh0dHA6Ly9saW5rLXNwcmluZ2VyLWNvbS00NDMud2VidnBuLmp4dXRjbS5lZHUuY24vYXJ0aWNsZS8xMC4xMDA3JTJGczEyMzI4LTAxOC0wOTE5LTQKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI4ODU5NDczX1NlcnVtX2FuZF9oaXN0b2xvZ2ljYWxfSWdHNC1uZWdhdGl2ZV90eXBlXzFfYXV0b2ltbXVuZV9wYW5jcmVhdGl0aXMKCi0tLQoKLSAqKlRoZSBoaXN0b2xvZ2ljIGRpYWdub3NpcyBvZiBJZ0c04oCQcmVsYXRlZCBkaXNlYXNlIG9uIHNtYWxsIGJpb3BzaWVzOiBDaGFsbGVuZ2VzIGFuZCBwaXRmYWxscyoqCgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjExMTEvaGlzLjEzNzg3CgoKLS0tCgotICoqQ29leGlzdGluZyBNdWNpbm91cyBDeXN0aWMgTmVvcGxhc20gb2YgdGhlIFBhbmNyZWFzIGFuZCBUeXBlIDEgQXV0b2ltbXVuZSBQYW5jcmVhdGl0aXMqKgoKaHR0cHM6Ly93d3cuanBhdGhvbHRtLm9yZy91cGxvYWQvcGRmL2pwdG0tMjAxOC0xMC0yNS5wZGYKCgotLS0KCmBgYHtyIDMwNDU1MDU1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQ1NTA1NSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQ1NTA1NScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQ1NTA1NSA8LSBwYXN0ZTAoUE1JRF8zMDQ1NTA1NSRqb3VybmFsLCcgJywgUE1JRF8zMDQ1NTA1NSR5ZWFyLCAnICcsIFBNSURfMzA0NTUwNTUkbW9udGgsJzsnLCBQTUlEXzMwNDU1MDU1JHZvbHVtZSwnKCcsIFBNSURfMzA0NTUwNTUkbnVtYmVyLCcpOicsIFBNSURfMzA0NTUwNTUkcGFnZXMpCgpQdWJNZWRfMzA0NTUwNTUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQ1NTA1NSRlcHJpbnQpCgpkb2lfMzA0NTUwNTUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQ1NTA1NSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQ1NTA1NSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQ1NTA1NSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDU1MDU1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDU1MDU1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQ1NTA1NSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDU1MDU1JHRpdGxlICwgIiBQTUlEOiAzMDQ1NTA1NSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0NTUwNTUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQ1NTA1NWAqCgpgciBQdWJNZWRfMzA0NTUwNTVgCgpgciBhZGR0aGlzX2lubGluZV8zMDQ1NTA1NWAKCmByIFBNSURfMzA0NTUwNTUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQ1NTA1NWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQ1NTA1NWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDU1MDU1YAoKPC9kZXRhaWxzPgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgojIyMjIFRlY2huaXF1ZXMgJiBSZXNlYXJjaCBNZXRob2RzCgoKYGBge3IgUGFuY3JlYXMgVGVjaG5pcXVlcyAmIFJlc2VhcmNoIE1ldGhvZHMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzAyODYwMTMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMjg2MDEzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMjg2MDEzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMjg2MDEzIDwtIHBhc3RlMChQTUlEXzMwMjg2MDEzJGpvdXJuYWwsJyAnLCBQTUlEXzMwMjg2MDEzJHllYXIsICcgJywgUE1JRF8zMDI4NjAxMyRtb250aCwnOycsIFBNSURfMzAyODYwMTMkdm9sdW1lLCcoJywgUE1JRF8zMDI4NjAxMyRudW1iZXIsJyk6JywgUE1JRF8zMDI4NjAxMyRwYWdlcykKClB1Yk1lZF8zMDI4NjAxMyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMjg2MDEzJGVwcmludCkKCmRvaV8zMDI4NjAxMyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMjg2MDEzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMjg2MDEzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMjg2MDEzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAyODYwMTMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAyODYwMTMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMjg2MDEzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAyODYwMTMkdGl0bGUgLCAiIFBNSUQ6IDMwMjg2MDEzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDI4NjAxMyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMjg2MDEzYCoKCmByIFB1Yk1lZF8zMDI4NjAxM2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMjg2MDEzYAoKYHIgUE1JRF8zMDI4NjAxMyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMjg2MDEzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMjg2MDEzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAyODYwMTNgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDMxNTM4NCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzMTUzODQgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzMTUzODQnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzMTUzODQgPC0gcGFzdGUwKFBNSURfMzAzMTUzODQkam91cm5hbCwnICcsIFBNSURfMzAzMTUzODQkeWVhciwgJyAnLCBQTUlEXzMwMzE1Mzg0JG1vbnRoLCc7JywgUE1JRF8zMDMxNTM4NCR2b2x1bWUsJygnLCBQTUlEXzMwMzE1Mzg0JG51bWJlciwnKTonLCBQTUlEXzMwMzE1Mzg0JHBhZ2VzKQoKUHViTWVkXzMwMzE1Mzg0IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzMTUzODQkZXByaW50KQoKZG9pXzMwMzE1Mzg0IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzMTUzODQkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzMTUzODQgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzMTUzODQkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDMxNTM4NCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDMxNTM4NCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzMTUzODQgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDMxNTM4NCR0aXRsZSAsICIgUE1JRDogMzAzMTUzODQgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzE1Mzg0JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzMTUzODRgKgoKYHIgUHViTWVkXzMwMzE1Mzg0YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzMTUzODRgCgpgciBQTUlEXzMwMzE1Mzg0JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzMTUzODRgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzMTUzODRgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDMxNTM4NGAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKlN1YnR5cGluZyBvZiBJUE1OKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vcHJvdG9jb2wvMTAuMTAwNy85NzgtMS00OTM5LTg4NzktMl8xCgoKLS0tCgotICoqR2VuZXJhdGlvbiBvZiBJbmR1Y2VkIFBsdXJpcG90ZW50IFN0ZW0gQ2VsbC1MaWtlIExpbmVzIGZyb20gSHVtYW4gUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9wcm90b2NvbC8xMC4xMDA3Lzk3OC0xLTQ5MzktODg3OS0yXzQKCi0tLQoKLSAqKkdlbmVyYXRpb24gYW5kIEN1bHR1cmUgb2YgSHVtYW4gUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEgT3JnYW5vaWRzIGZyb20gUmVzZWN0ZWQgVHVtb3IgU3BlY2ltZW5zKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vcHJvdG9jb2wvMTAuMTAwNy85NzgtMS00OTM5LTg4NzktMl85CgotLS0KCgotICoqU3BoZXJvaWQgQ3VsdHVyZSBvZiBIdW1hbiBQYW5jcmVhdGljIER1Y3RhbCBDZWxscyB0byBSZWNvbnN0aXR1dGUgRGV2ZWxvcG1lbnQgb2YgUGFuY3JlYXRpYyBJbnRyYWVwaXRoZWxpYWwgTmVvcGxhc2lhKioKCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL3Byb3RvY29sLzEwLjEwMDcvOTc4LTEtNDkzOS04ODc5LTJfNgoKLS0tCgotICoqR2VuZXJhdGlvbiBhbmQgQ3VsdHVyZSBvZiBUdW1vciBhbmQgTWV0YXN0YXRpYyBPcmdhbm9pZHMgZnJvbSBNdXJpbmUgTW9kZWxzIG9mIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vcHJvdG9jb2wvMTAuMTAwNy85NzgtMS00OTM5LTg4NzktMl8xMAoKLS0tCgotICoqQW4gSW4gVml0cm8gVGhyZWUtRGltZW5zaW9uYWwgT3JnYW5vdHlwaWMgTW9kZWwgdG8gQW5hbHl6ZSBQZXJpcGFuY3JlYXRpYyBGYXQgSW52YXNpb24gaW4gUGFuY3JlYXRpYyBDYW5jZXI6IEEgQ3VsdHVyZSBTeXN0ZW0gQmFzZWQgb24gQ29sbGFnZW4gR2VsIEVtYmVkZGluZyoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL3Byb3RvY29sLzEwLjEwMDcvOTc4LTEtNDkzOS04ODc5LTJfMTEKCgoKLS0tCgpgYGB7ciAzMDMyNTg2MCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzMjU4NjAgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzMjU4NjAnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzMjU4NjAgPC0gcGFzdGUwKFBNSURfMzAzMjU4NjAkam91cm5hbCwnICcsIFBNSURfMzAzMjU4NjAkeWVhciwgJyAnLCBQTUlEXzMwMzI1ODYwJG1vbnRoLCc7JywgUE1JRF8zMDMyNTg2MCR2b2x1bWUsJygnLCBQTUlEXzMwMzI1ODYwJG51bWJlciwnKTonLCBQTUlEXzMwMzI1ODYwJHBhZ2VzKQoKUHViTWVkXzMwMzI1ODYwIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzMjU4NjAkZXByaW50KQoKZG9pXzMwMzI1ODYwIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzMjU4NjAkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzMjU4NjAgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzMjU4NjAkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDMyNTg2MCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDMyNTg2MCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzMjU4NjAgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDMyNTg2MCR0aXRsZSAsICIgUE1JRDogMzAzMjU4NjAgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzI1ODYwJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzMjU4NjBgKgoKYHIgUHViTWVkXzMwMzI1ODYwYAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzMjU4NjBgCgpgciBQTUlEXzMwMzI1ODYwJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzMjU4NjBgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzMjU4NjBgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDMyNTg2MGAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkEgIkNsZWFyZXIiIFZpZXcgb2YgUGFuY3JlYXRpYyBQYXRob2xvZ3k6IEEgUmV2aWV3IG9mIFRpc3N1ZSBDbGVhcmluZyBhbmQgQWR2YW5jZWQgTWljcm9zY29weSBUZWNobmlxdWVzLioqCiAgICAKaHR0cHM6Ly9ldXJvcGVwbWMub3JnL2Fic3RyYWN0L21lZC8zMDI1NjIyOAoKCi0tLQoKLSAqKk5lZWRsZS1iYXNlZCBjb25mb2NhbCBsYXNlciBlbmRvbWljcm9zY29weSBvZiBwYW5jcmVhdGljIGN5c3RpYyBsZXNpb25zOiBhIHByb3NwZWN0aXZlIG11bHRpY2VudGVyIHZhbGlkYXRpb24gc3R1ZHkgaW4gcGF0aWVudHMgd2l0aCBkZWZpbml0ZSBkaWFnbm9zaXMqKgogICAgCmh0dHBzOi8vd3d3LnRoaWVtZS1jb25uZWN0LmNvbS9wcm9kdWN0cy9lam91cm5hbHMvaHRtbC8xMC4xMDU1L2EtMDczMi01MzU2CgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIFJldmlld3MsIE9waW5pb24gQXJ0aWNsZXMKCgpgYGB7ciBQYW5jcmVhcyBSZXZpZXdzIE9waW5pb24gQXJ0aWNsZXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCgotLS0KCmBgYHtyIDMwMzI1ODU5LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDMyNTg1OSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDMyNTg1OScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDMyNTg1OSA8LSBwYXN0ZTAoUE1JRF8zMDMyNTg1OSRqb3VybmFsLCcgJywgUE1JRF8zMDMyNTg1OSR5ZWFyLCAnICcsIFBNSURfMzAzMjU4NTkkbW9udGgsJzsnLCBQTUlEXzMwMzI1ODU5JHZvbHVtZSwnKCcsIFBNSURfMzAzMjU4NTkkbnVtYmVyLCcpOicsIFBNSURfMzAzMjU4NTkkcGFnZXMpCgpQdWJNZWRfMzAzMjU4NTkgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDMyNTg1OSRlcHJpbnQpCgpkb2lfMzAzMjU4NTkgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDMyNTg1OSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDMyNTg1OSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDMyNTg1OSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzI1ODU5IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzI1ODU5JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDMyNTg1OSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzI1ODU5JHRpdGxlICwgIiBQTUlEOiAzMDMyNTg1OSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzMjU4NTkkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDMyNTg1OWAqCgpgciBQdWJNZWRfMzAzMjU4NTlgCgpgciBhZGR0aGlzX2lubGluZV8zMDMyNTg1OWAKCmByIFBNSURfMzAzMjU4NTkkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDMyNTg1OWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDMyNTg1OWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzI1ODU5YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDMyNTg1NCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzMjU4NTQgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzMjU4NTQnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzMjU4NTQgPC0gcGFzdGUwKFBNSURfMzAzMjU4NTQkam91cm5hbCwnICcsIFBNSURfMzAzMjU4NTQkeWVhciwgJyAnLCBQTUlEXzMwMzI1ODU0JG1vbnRoLCc7JywgUE1JRF8zMDMyNTg1NCR2b2x1bWUsJygnLCBQTUlEXzMwMzI1ODU0JG51bWJlciwnKTonLCBQTUlEXzMwMzI1ODU0JHBhZ2VzKQoKUHViTWVkXzMwMzI1ODU0IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzMjU4NTQkZXByaW50KQoKZG9pXzMwMzI1ODU0IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzMjU4NTQkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzMjU4NTQgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzMjU4NTQkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDMyNTg1NCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDMyNTg1NCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzMjU4NTQgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDMyNTg1NCR0aXRsZSAsICIgUE1JRDogMzAzMjU4NTQgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzI1ODU0JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzMjU4NTRgKgoKYHIgUHViTWVkXzMwMzI1ODU0YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzMjU4NTRgCgpgciBQTUlEXzMwMzI1ODU0JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzMjU4NTRgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzMjU4NTRgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDMyNTg1NGAKCjwvZGV0YWlscz4KCi0tLQoKYGBge3IgMzAzMjU4NTIsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzI1ODUyIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzI1ODUyJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzI1ODUyIDwtIHBhc3RlMChQTUlEXzMwMzI1ODUyJGpvdXJuYWwsJyAnLCBQTUlEXzMwMzI1ODUyJHllYXIsICcgJywgUE1JRF8zMDMyNTg1MiRtb250aCwnOycsIFBNSURfMzAzMjU4NTIkdm9sdW1lLCcoJywgUE1JRF8zMDMyNTg1MiRudW1iZXIsJyk6JywgUE1JRF8zMDMyNTg1MiRwYWdlcykKClB1Yk1lZF8zMDMyNTg1MiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzI1ODUyJGVwcmludCkKCmRvaV8zMDMyNTg1MiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzI1ODUyJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzI1ODUyIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzI1ODUyJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzMjU4NTIgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzMjU4NTIkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzI1ODUyIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzMjU4NTIkdGl0bGUgLCAiIFBNSUQ6IDMwMzI1ODUyICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDMyNTg1MiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzI1ODUyYCoKCmByIFB1Yk1lZF8zMDMyNTg1MmAKCmByIGFkZHRoaXNfaW5saW5lXzMwMzI1ODUyYAoKYHIgUE1JRF8zMDMyNTg1MiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzI1ODUyYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzI1ODUyYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzMjU4NTJgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwMzI1ODUzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDMyNTg1MyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDMyNTg1MycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDMyNTg1MyA8LSBwYXN0ZTAoUE1JRF8zMDMyNTg1MyRqb3VybmFsLCcgJywgUE1JRF8zMDMyNTg1MyR5ZWFyLCAnICcsIFBNSURfMzAzMjU4NTMkbW9udGgsJzsnLCBQTUlEXzMwMzI1ODUzJHZvbHVtZSwnKCcsIFBNSURfMzAzMjU4NTMkbnVtYmVyLCcpOicsIFBNSURfMzAzMjU4NTMkcGFnZXMpCgpQdWJNZWRfMzAzMjU4NTMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDMyNTg1MyRlcHJpbnQpCgpkb2lfMzAzMjU4NTMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDMyNTg1MyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDMyNTg1MyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDMyNTg1MyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzI1ODUzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzI1ODUzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDMyNTg1MyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzI1ODUzJHRpdGxlICwgIiBQTUlEOiAzMDMyNTg1MyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzMjU4NTMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDMyNTg1M2AqCgpgciBQdWJNZWRfMzAzMjU4NTNgCgpgciBhZGR0aGlzX2lubGluZV8zMDMyNTg1M2AKCmByIFBNSURfMzAzMjU4NTMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDMyNTg1M2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDMyNTg1M2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzI1ODUzYAoKPC9kZXRhaWxzPgoKLS0tCgotICoqRGlyZWN0IHRoZXJhcGV1dGljIHRhcmdldGluZyBvZiBpbW11bmUgY2hlY2twb2ludCBQRC0xIGluIHBhbmNyZWF0aWMgY2FuY2VyKioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNDE2LTAxOC0wMjk4LTAKCgotLS0KCmBgYHtyIDI5OTQ2Nzc2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTk0Njc3NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTk0Njc3NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTk0Njc3NiA8LSBwYXN0ZTAoUE1JRF8yOTk0Njc3NiRqb3VybmFsLCcgJywgUE1JRF8yOTk0Njc3NiR5ZWFyLCAnICcsIFBNSURfMjk5NDY3NzYkbW9udGgsJzsnLCBQTUlEXzI5OTQ2Nzc2JHZvbHVtZSwnKCcsIFBNSURfMjk5NDY3NzYkbnVtYmVyLCcpOicsIFBNSURfMjk5NDY3NzYkcGFnZXMpCgpQdWJNZWRfMjk5NDY3NzYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTk0Njc3NiRlcHJpbnQpCgpkb2lfMjk5NDY3NzYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTk0Njc3NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTk0Njc3NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTk0Njc3NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5OTQ2Nzc2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5OTQ2Nzc2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTk0Njc3NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5OTQ2Nzc2JHRpdGxlICwgIiBQTUlEOiAyOTk0Njc3NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk5NDY3NzYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTk0Njc3NmAqCgpgciBQdWJNZWRfMjk5NDY3NzZgCgpgciBhZGR0aGlzX2lubGluZV8yOTk0Njc3NmAKCmByIFBNSURfMjk5NDY3NzYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTk0Njc3NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTk0Njc3NmAKCmByIGFsdG1ldHJpY0JhZGdlXzI5OTQ2Nzc2YAoKPC9kZXRhaWxzPgoKLS0tCgogICAgCi0gKipBU08gQXV0aG9yIFJlZmxlY3Rpb25zOiBEbyBEaXN0aW5jdCBQYXR0ZXJucyBvZiBSZWN1cnJlbmNlIEltcGFjdCB0aGUgUHJvZ25vc2lzIG9mIFBhdGllbnRzIFdpdGggUmVzZWN0ZWQgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWE/KioKICAgIApodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTI0NS9zMTA0MzQtMDE4LTY4MjAtegoKCi0tLQoKYGBge3IgMzA0NTY2NjksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDU2NjY5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDU2NjY5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDU2NjY5IDwtIHBhc3RlMChQTUlEXzMwNDU2NjY5JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDU2NjY5JHllYXIsICcgJywgUE1JRF8zMDQ1NjY2OSRtb250aCwnOycsIFBNSURfMzA0NTY2Njkkdm9sdW1lLCcoJywgUE1JRF8zMDQ1NjY2OSRudW1iZXIsJyk6JywgUE1JRF8zMDQ1NjY2OSRwYWdlcykKClB1Yk1lZF8zMDQ1NjY2OSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDU2NjY5JGVwcmludCkKCmRvaV8zMDQ1NjY2OSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDU2NjY5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDU2NjY5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDU2NjY5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0NTY2NjkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0NTY2NjkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDU2NjY5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0NTY2NjkkdGl0bGUgLCAiIFBNSUQ6IDMwNDU2NjY5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQ1NjY2OSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDU2NjY5YCoKCmByIFB1Yk1lZF8zMDQ1NjY2OWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDU2NjY5YAoKYHIgUE1JRF8zMDQ1NjY2OSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDU2NjY5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDU2NjY5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0NTY2NjlgCgo8L2RldGFpbHM+CgotLS0KCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIyBBbmltYWwgU3R1ZGllcwoKCmBgYHtyIFBhbmNyZWFzIEFuaW1hbCBTdHVkaWVzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwNDIzMjk2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQyMzI5NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQyMzI5NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQyMzI5NiA8LSBwYXN0ZTAoUE1JRF8zMDQyMzI5NiRqb3VybmFsLCcgJywgUE1JRF8zMDQyMzI5NiR5ZWFyLCAnICcsIFBNSURfMzA0MjMyOTYkbW9udGgsJzsnLCBQTUlEXzMwNDIzMjk2JHZvbHVtZSwnKCcsIFBNSURfMzA0MjMyOTYkbnVtYmVyLCcpOicsIFBNSURfMzA0MjMyOTYkcGFnZXMpCgpQdWJNZWRfMzA0MjMyOTYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQyMzI5NiRlcHJpbnQpCgpkb2lfMzA0MjMyOTYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQyMzI5NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQyMzI5NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQyMzI5NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDIzMjk2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDIzMjk2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQyMzI5NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDIzMjk2JHRpdGxlICwgIiBQTUlEOiAzMDQyMzI5NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0MjMyOTYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQyMzI5NmAqCgpgciBQdWJNZWRfMzA0MjMyOTZgCgpgciBhZGR0aGlzX2lubGluZV8zMDQyMzI5NmAKCmByIFBNSURfMzA0MjMyOTYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQyMzI5NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQyMzI5NmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDIzMjk2YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAyOTI0OTY5MiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMjkyNDk2OTIgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjkyNDk2OTInLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjkyNDk2OTIgPC0gcGFzdGUwKFBNSURfMjkyNDk2OTIkam91cm5hbCwnICcsIFBNSURfMjkyNDk2OTIkeWVhciwgJyAnLCBQTUlEXzI5MjQ5NjkyJG1vbnRoLCc7JywgUE1JRF8yOTI0OTY5MiR2b2x1bWUsJygnLCBQTUlEXzI5MjQ5NjkyJG51bWJlciwnKTonLCBQTUlEXzI5MjQ5NjkyJHBhZ2VzKQoKUHViTWVkXzI5MjQ5NjkyIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjkyNDk2OTIkZXByaW50KQoKZG9pXzI5MjQ5NjkyIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjkyNDk2OTIkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjkyNDk2OTIgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjkyNDk2OTIkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yOTI0OTY5MiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yOTI0OTY5MiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjkyNDk2OTIgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yOTI0OTY5MiR0aXRsZSAsICIgUE1JRDogMjkyNDk2OTIgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI5MjQ5NjkyJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjkyNDk2OTJgKgoKYHIgUHViTWVkXzI5MjQ5NjkyYAoKYHIgYWRkdGhpc19pbmxpbmVfMjkyNDk2OTJgCgpgciBQTUlEXzI5MjQ5NjkyJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjkyNDk2OTJgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjkyNDk2OTJgCgpgciBhbHRtZXRyaWNCYWRnZV8yOTI0OTY5MmAKCjwvZGV0YWlscz4KCi0tLQoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgT25jb2xvZ3kgYW5kIHNlcnVtIG1hcmtlciBzdHVkaWVzCgoKYGBge3IgUGFuY3JlYXMgT25jb2xvZ3kgYW5kIHNlcnVtIG1hcmtlciBzdHVkaWVzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCi0tLQoKLSAqKkNsaW5pY29wYXRob2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIHBhbmNyZWF0aWMgY2FuY2VyIHdpdGggbm9ybWFsIGxldmVsIG9mIHNlcnVtIENBMTktOSoqCiAgICAKaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wdWJsaWNhdGlvbi8zMjgwNjE3MDBfQ2xpbmljb3BhdGhvbG9naWNhbF9jaGFyYWN0ZXJpc3RpY3Nfb2ZfcGFuY3JlYXRpY19jYW5jZXJfd2l0aF9ub3JtYWxfbGV2ZWxfb2Zfc2VydW1fQ0ExOS05CgotLS0KCi0gKipCaW9tYXJrZXIgcGFuZWwgcHJlZGljdHMgc3Vydml2YWwgYWZ0ZXIgcmVzZWN0aW9uIGluIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hOiBBIG11bHRpLWluc3RpdHV0aW9uYWwgY29ob3J0IHN0dWR5KioKICAgIApodHRwczovL3d3dy5lanNvLmNvbS9hcnRpY2xlL1MwNzQ4LTc5ODMoMTgpMzE0NTAtMS9mdWxsdGV4dAoKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIyBFcGlkZW1pb2xvZ3ksIFNjcmVlbmluZywgQ2FuY2VyIFJpc2sgRmFjdG9ycwoKCmBgYHtyIFBhbmNyZWFzIEVwaWRlbWlvbG9neSBTY3JlZW5pbmcgQ2FuY2VyIFJpc2sgRmFjdG9ycywgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgotLS0KCgotICoqSGlnaCBwcmV2YWxlbmNlIG9mIEhlcmVkaXRhcnkgQ2FuY2VyIFN5bmRyb21lcyBhbmQgT3V0Y29tZXMgaW4gQWR1bHRzIHdpdGggRWFybHktT25zZXQgUGFuY3JlYXRpYyBDYW5jZXIqKgogICAgCmh0dHA6Ly9jYW5jZXJwcmV2ZW50aW9ucmVzZWFyY2guYWFjcmpvdXJuYWxzLm9yZy9jb250ZW50L2Vhcmx5LzIwMTgvMDkvMjkvMTk0MC02MjA3LkNBUFItMTgtMDAxNAoKCgoKLS0tCgotICoqSWRlbnRpZmljYXRpb24gb2YgQ3lzdGljIExlc2lvbnMgYnkgU2Vjb25kYXJ5IFNjcmVlbmluZyBvZiBGYW1pbGlhbCBQYW5jcmVhdGljIENhbmNlciAoRlBDKSBLaW5kcmVkcyBJcyBOb3QgQXNzb2NpYXRlZCB3aXRoIHRoZSBTdHJhdGlmaWVkIFJpc2sgb2YgQ2FuY2VyKioKICAgIApodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTM5NS0wMTgtMDM5NS15CgoKCi0tLQoKLSAqKkNvZmZlZSBhbmQgcGFuY3JlYXRpYyBjYW5jZXIgcmlzayBhbW9uZyBuZXZlcuKAkHNtb2tlcnMgaW4gdGhlIFVLIHByb3NwZWN0aXZlIE1pbGxpb24gV29tZW4gU3R1ZHkqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvaWpjLjMxOTk0CgotLS0KCi0gKipTY3JlZW5pbmcgYW5kIHN1cnZlaWxsYW5jZSBpbiBoZXJlZGl0YXJ5IGdhc3Ryb2ludGVzdGluYWwgY2FuY2VyczogUmVjb21tZW5kYXRpb25zIGZyb20gdGhlIEV1cm9wZWFuIFNvY2lldHkgb2YgRGlnZXN0aXZlIE9uY29sb2d5IChFU0RPKSBleHBlcnQgZGlzY3Vzc2lvbiBhdCB0aGUgMjB0aCBFdXJvcGVhbiBTb2NpZXR5IGZvciBNZWRpY2FsIE9uY29sb2d5IChFU01PKS9Xb3JsZCBDb25ncmVzcyBvbiBHYXN0cm9pbnRlc3RpbmFsIENhbmNlciwgQmFyY2Vsb25hLCBKdW5lIDIwMTgqKgogICAgCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzA5NTk4MDQ5MTgzMTM3NDEKCi0tLQoKLSAqKlBhbmNyZWF0aWMgY2FuY2VyIGFuZCBhdXRvaW1tdW5lIGRpc2Vhc2VzOiBBbiBhc3NvY2lhdGlvbiBzdXN0YWluZWQgYnkgY29tcHV0YXRpb25hbCBhbmQgZXBpZGVtaW9sb2dpY2FsIGNhc2UtY29udHJvbCBhcHByb2FjaGVzOiBBdXRvaW1tdW5lIGRpc2Vhc2VzIGFuZCBwYW5jcmVhdGljIGNhbmNlciByaXNrKioKICAgIApodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMyNzc1NDI0Nl9QYW5jcmVhdGljX2NhbmNlcl9hbmRfYXV0b2ltbXVuZV9kaXNlYXNlc19Bbl9hc3NvY2lhdGlvbl9zdXN0YWluZWRfYnlfY29tcHV0YXRpb25hbF9hbmRfZXBpZGVtaW9sb2dpY2FsX2Nhc2UtY29udHJvbF9hcHByb2FjaGVzX0F1dG9pbW11bmVfZGlzZWFzZXNfYW5kX3BhbmNyZWF0aWNfY2FuY2VyX3Jpc2sKCgotLS0KCmBgYHtyIDMwNDQ4MDg1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQ0ODA4NSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQ0ODA4NScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQ0ODA4NSA8LSBwYXN0ZTAoUE1JRF8zMDQ0ODA4NSRqb3VybmFsLCcgJywgUE1JRF8zMDQ0ODA4NSR5ZWFyLCAnICcsIFBNSURfMzA0NDgwODUkbW9udGgsJzsnLCBQTUlEXzMwNDQ4MDg1JHZvbHVtZSwnKCcsIFBNSURfMzA0NDgwODUkbnVtYmVyLCcpOicsIFBNSURfMzA0NDgwODUkcGFnZXMpCgpQdWJNZWRfMzA0NDgwODUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQ0ODA4NSRlcHJpbnQpCgpkb2lfMzA0NDgwODUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQ0ODA4NSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQ0ODA4NSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQ0ODA4NSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDQ4MDg1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDQ4MDg1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQ0ODA4NSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDQ4MDg1JHRpdGxlICwgIiBQTUlEOiAzMDQ0ODA4NSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0NDgwODUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQ0ODA4NWAqCgpgciBQdWJNZWRfMzA0NDgwODVgCgpgciBhZGR0aGlzX2lubGluZV8zMDQ0ODA4NWAKCmByIFBNSURfMzA0NDgwODUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQ0ODA4NWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQ0ODA4NWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDQ4MDg1YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzA0NTE3OTMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDUxNzkzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDUxNzkzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDUxNzkzIDwtIHBhc3RlMChQTUlEXzMwNDUxNzkzJGpvdXJuYWwsJyAnLCBQTUlEXzMwNDUxNzkzJHllYXIsICcgJywgUE1JRF8zMDQ1MTc5MyRtb250aCwnOycsIFBNSURfMzA0NTE3OTMkdm9sdW1lLCcoJywgUE1JRF8zMDQ1MTc5MyRudW1iZXIsJyk6JywgUE1JRF8zMDQ1MTc5MyRwYWdlcykKClB1Yk1lZF8zMDQ1MTc5MyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDUxNzkzJGVwcmludCkKCmRvaV8zMDQ1MTc5MyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDUxNzkzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDUxNzkzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDUxNzkzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0NTE3OTMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0NTE3OTMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDUxNzkzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0NTE3OTMkdGl0bGUgLCAiIFBNSUQ6IDMwNDUxNzkzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQ1MTc5MyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDUxNzkzYCoKCmByIFB1Yk1lZF8zMDQ1MTc5M2AKCmByIGFkZHRoaXNfaW5saW5lXzMwNDUxNzkzYAoKYHIgUE1JRF8zMDQ1MTc5MyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDUxNzkzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDUxNzkzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0NTE3OTNgCgo8L2RldGFpbHM+CgotLS0KCi0gKipFdmFsdWF0aW5nIFN1c2NlcHRpYmlsaXR5IHRvIFBhbmNyZWF0aWMgQ2FuY2VyOiBBU0NPIFByb3Zpc2lvbmFsIENsaW5pY2FsIE9waW5pb24qKgoKaHR0cDovL2FzY29wdWJzLm9yZy9kb2kvYWJzLzEwLjEyMDAvSkNPLjE4LjAxNDg5CgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgotLS0KCiMjIyBCaWxlIER1Y3RzCgpgYGB7ciBTIEJpbGUgRHVjdHMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzAzNzc3OTYsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzc3Nzk2IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzc3Nzk2JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzc3Nzk2IDwtIHBhc3RlMChQTUlEXzMwMzc3Nzk2JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzc3Nzk2JHllYXIsICcgJywgUE1JRF8zMDM3Nzc5NiRtb250aCwnOycsIFBNSURfMzAzNzc3OTYkdm9sdW1lLCcoJywgUE1JRF8zMDM3Nzc5NiRudW1iZXIsJyk6JywgUE1JRF8zMDM3Nzc5NiRwYWdlcykKClB1Yk1lZF8zMDM3Nzc5NiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzc3Nzk2JGVwcmludCkKCmRvaV8zMDM3Nzc5NiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzc3Nzk2JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzc3Nzk2IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzc3Nzk2JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzNzc3OTYgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzNzc3OTYkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzc3Nzk2IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzNzc3OTYkdGl0bGUgLCAiIFBNSUQ6IDMwMzc3Nzk2ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM3Nzc5NiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzc3Nzk2YCoKCmByIFB1Yk1lZF8zMDM3Nzc5NmAKCmByIGFkZHRoaXNfaW5saW5lXzMwMzc3Nzk2YAoKYHIgUE1JRF8zMDM3Nzc5NiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzc3Nzk2YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzc3Nzk2YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzNzc3OTZgCgo8L2RldGFpbHM+CgotLS0KCi0gKipQYW5jcmVhdGljLVR5cGUgTWl4ZWQgQWNpbmFyIE5ldXJvZW5kb2NyaW5lIENhcmNpbm9tYSBBcmlzaW5nIGluIHRoZSBDb21tb24gQmlsZSBEdWN0OiBBIENhc2UgUmVwb3J0KioKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9wYXRob2xvZ3ljYXNlcmV2aWV3cy9BYnN0cmFjdC8yMDE4LzExMDAwL1BhbmNyZWF0aWNfVHlwZV9NaXhlZF9BY2luYXJfTmV1cm9lbmRvY3JpbmUuNi5hc3B4CgotLS0KCi0gKipNaXNtYXRjaCByZXBhaXIgZGVmaWNpZW5jeSBpcyBhIHJhcmUgYnV0IHB1dGF0aXZlIHRoZXJhcGV1dGljYWxseSByZWxldmFudCBmaW5kaW5nIGluIG5vbi1saXZlciBmbHVrZSBhc3NvY2lhdGVkIGNob2xhbmdpb2NhcmNpbm9tYSoqCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTQxNi0wMTgtMDE5OS0yCgotLS0KCi0gKipQcm9nbm9zdGljIHJvbGUgb2YgQkFQLTEgYW5kIFBCUk0tMSBleHByZXNzaW9uIGluIGludHJhaGVwYXRpYyBjaG9sYW5naW9jYXJjaW5vbWEqKgoKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI4NjE4NDQ4X1Byb2dub3N0aWNfcm9sZV9vZl9CQVAtMV9hbmRfUEJSTS0xX2V4cHJlc3Npb25faW5faW50cmFoZXBhdGljX2Nob2xhbmdpb2NhcmNpbm9tYQoKLS0tCgotICoqRG91YmxlIFRyb3VibGU6IEEgUmFyZSBDYXNlIG9mIENvbmN1cnJlbnQgQmlsaWFyeSBBZGVub2ZpYnJvbWEgYW5kIEhlcGF0b2JpbGlhcnkgTXVjaW5vdXMgQ3lzdGljIE5lb3BsYXNtKioKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcG1jL2FydGljbGVzL1BNQzYxOTU2NDYvCgotLS0KCi0gKipPdXRjb21lcyBvZiBzdXJnZXJ5IGZvciAyMDEwIFdITyBjbGFzc2lmaWNhdGlvbi1iYXNlZCBpbnRyYWR1Y3RhbCBwYXBpbGxhcnkgbmVvcGxhc20gb2YgdGhlIGJpbGUgZHVjdDogQ2FzZeKAk2NvbnRyb2wgc3R1ZHkgb2YgYSBzaW5nbGUgSmFwYW5lc2UgaW5zdGl0dXRpb24ncyBleHBlcmllbmNlIHdpdGggc3BlY2lhbCBhdHRlbnRpb24gdG8gbXVjaW4gZXhwcmVzc2lvbiBwYXR0ZXJucyoqCgpodHRwczovL3d3dy5lanNvLmNvbS9hcnRpY2xlL1MwNzQ4LTc5ODMoMTgpMzE5MzYtWC9mdWxsdGV4dAoKLS0tCgogICAgCi0gKipDb21wYXJpc29uIG9mIHRoZSBDbGluaWNvcGF0aG9sb2dpYyBDaGFyYWN0ZXJpc3RpY3Mgb2YgSW50cmFkdWN0YWwgUGFwaWxsYXJ5IE5lb3BsYXNtIG9mIHRoZSBCaWxlIER1Y3QgYWNjb3JkaW5nIHRvIE1vcnBob2xvZ2ljYWwgYW5kIEFuYXRvbWljYWwgQ2xhc3NpZmljYXRpb25zKioKICAgIAogICAgCmh0dHBzOi8vd3d3LmprbXMub3JnL3NlYXJjaC5waHA/d2hlcmU9YXZpZXcmaWQ9MTAuMzM0Ni9qa21zLjIwMTguMzMuZTI2NiZjb2RlPTAwNjNKS01TJnZtb2RlPUZVTEwKCi0tLQogICAgCiAgICAKLSAqKldoZW4gdGhlIGltbXVuZSBzeXN0ZW0gaXMgYXdheSBiaWxpYXJ5IGNhbmNlciBjZWxscyBtYXkgY29tZSBiYWNrIHRvIHBsYXkqKgogICAgCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI4MjkzNTY2X1doZW5fdGhlX2ltbXVuZV9zeXN0ZW1faXNfYXdheV9iaWxpYXJ5X2NhbmNlcl9jZWxsc19tYXlfY29tZV9iYWNrX3RvX3BsYXkKCi0tLQogICAgCi0gKipQYXR0ZXJucyBvZiBnZW5lIG11dGF0aW9ucyBpbiBiaWxlIGR1Y3QgY2FuY2VyczogaXMgaXQgdGltZSB0byBvdmVyY29tZSB0aGUgYW5hdG9taWNhbCBjbGFzc2lmaWNhdGlvbj8qKgogICAgCmh0dHBzOi8vd3d3LmhwYm9ubGluZS5vcmcvYXJ0aWNsZS9TMTM2NS0xODJYKDE4KTMwODc3LTMvYWJzdHJhY3QKCi0tLQoKICAgIAotICoqU3VyZ2ljYWwgcmVzZWN0aW9uIG9mIGx5bXBoIG5vZGUgcG9zaXRpdmUgaW50cmFoZXBhdGljIGNob2xhbmdpb2NhcmNpbm9tYSBtYXkgbm90IGltcHJvdmUgc3Vydml2YWwqKgogICAgCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzEzNjUxODJYMTgzMzkzNTIKCgotLS0KCmBgYHtyIDMwNDQ4OTczLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQ0ODk3MyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQ0ODk3MycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQ0ODk3MyA8LSBwYXN0ZTAoUE1JRF8zMDQ0ODk3MyRqb3VybmFsLCcgJywgUE1JRF8zMDQ0ODk3MyR5ZWFyLCAnICcsIFBNSURfMzA0NDg5NzMkbW9udGgsJzsnLCBQTUlEXzMwNDQ4OTczJHZvbHVtZSwnKCcsIFBNSURfMzA0NDg5NzMkbnVtYmVyLCcpOicsIFBNSURfMzA0NDg5NzMkcGFnZXMpCgpQdWJNZWRfMzA0NDg5NzMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQ0ODk3MyRlcHJpbnQpCgpkb2lfMzA0NDg5NzMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQ0ODk3MyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQ0ODk3MyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQ0ODk3MyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDQ4OTczIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDQ4OTczJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQ0ODk3MyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDQ4OTczJHRpdGxlICwgIiBQTUlEOiAzMDQ0ODk3MyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0NDg5NzMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQ0ODk3M2AqCgpgciBQdWJNZWRfMzA0NDg5NzNgCgpgciBhZGR0aGlzX2lubGluZV8zMDQ0ODk3M2AKCmByIFBNSURfMzA0NDg5NzMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQ0ODk3M2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQ0ODk3M2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDQ4OTczYAoKPC9kZXRhaWxzPgoKLS0tCgotICoqQ2hvbGFuZ2lvY2FyY2lub21hOiBDbGFzc2lmaWNhdGlvbiwgSGlzdG9wYXRob2xvZ3kgYW5kIE1vbGVjdWxhciBDYXJjaW5vZ2VuZXNpcyoqCgpodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2FydGljbGUvMTAuMTAwNy9zMTIyNTMtMDE4LTA0OTEtOAoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgRXBpZGVtaW9sb2d5LCBTY3JlZW5pbmcsIENhbmNlciBSaXNrIEZhY3RvcnMKCgpgYGB7ciBCaWxlIER1Y3QgRXBpZGVtaW9sb2d5IFNjcmVlbmluZyBDYW5jZXIgUmlzayBGYWN0b3JzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwNDQ4Nzc0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQ0ODc3NCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQ0ODc3NCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQ0ODc3NCA8LSBwYXN0ZTAoUE1JRF8zMDQ0ODc3NCRqb3VybmFsLCcgJywgUE1JRF8zMDQ0ODc3NCR5ZWFyLCAnICcsIFBNSURfMzA0NDg3NzQkbW9udGgsJzsnLCBQTUlEXzMwNDQ4Nzc0JHZvbHVtZSwnKCcsIFBNSURfMzA0NDg3NzQkbnVtYmVyLCcpOicsIFBNSURfMzA0NDg3NzQkcGFnZXMpCgpQdWJNZWRfMzA0NDg3NzQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQ0ODc3NCRlcHJpbnQpCgpkb2lfMzA0NDg3NzQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQ0ODc3NCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQ0ODc3NCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQ0ODc3NCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDQ4Nzc0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDQ4Nzc0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQ0ODc3NCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDQ4Nzc0JHRpdGxlICwgIiBQTUlEOiAzMDQ0ODc3NCAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0NDg3NzQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQ0ODc3NGAqCgpgciBQdWJNZWRfMzA0NDg3NzRgCgpgciBhZGR0aGlzX2lubGluZV8zMDQ0ODc3NGAKCmByIFBNSURfMzA0NDg3NzQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQ0ODc3NGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQ0ODc3NGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDQ4Nzc0YAoKPC9kZXRhaWxzPgoKLS0tCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKLS0tCgojIyMgR2FsbGJsYWRkZXIKCgpgYGB7ciBTIEdhbGxibGFkZGVyLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCiMjIyMgTW9ycGhvbG9neSwgRGlhZ25vc3RpY3MsIElIQwoKTW9ycGhvbG9neSwgRGlhZ25vc3RpY3MsIElIQwoKCmBgYHtyIFMgR2FsbGJsYWRkZXIgTW9ycGhvbG9neSBEaWFnbm9zdGljcyBJSEMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKLSAqKkludHJhY3lzdGljIFBhcGlsbGFyeSBOZW9wbGFzbSBvZiB0aGUgR2FsbGJsYWRkZXIgQXJpc2luZyBmcm9tIGEgTG9jYWxpemVkIEFkZW5vbXlvbWF0b3VzIEh5cGVycGxhc2lhKioKCgpodHRwczovL3d3dy5ranBidC5vcmcvdXBsb2FkL3BkZi9rcGJhLTIzLTQtMTgyLnBkZgoKLS0tCgotICoqRGlmZmVyZW50aWFsIGRpYWdub3NpcyBvZiBnYWxsYmxhZGRlciBhc2Nhcmlhc2lzIGRlYnJpczogdGhlIGFkZGVkIHZhbHVlIG9mIGNvbnRyYXN0IGVuaGFuY2VkIHVsdHJhc291bmQgd2l0aCBoaWdoIGZyZXF1ZW5jeSB0cmFuc2R1Y2VyKioKCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI4NzYzNzcyX0RpZmZlcmVudGlhbF9kaWFnbm9zaXNfb2ZfZ2FsbGJsYWRkZXJfYXNjYXJpYXNpc19kZWJyaXNfdGhlX2FkZGVkX3ZhbHVlX29mX2NvbnRyYXN0X2VuaGFuY2VkX3VsdHJhc291bmRfd2l0aF9oaWdoX2ZyZXF1ZW5jeV90cmFuc2R1Y2VyCgotLS0KCi0gKipEaWZmdXNlIEludHJhY3lzdGljIFBhcGlsbGFyeSBOZW9wbGFzbSBJbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIEdhbGxibGFkZGVyIENhbmNlcjogQSBDYXNlIFJlcG9ydCoqCgpodHRwczovL3d3dy5qc3RhZ2UuanN0LmdvLmpwL2FydGljbGUvdHdtdWovYWR2cHViLzAvYWR2cHViXzIwMTgwMDYvX3BkZgoKLS0tCgotICoqRml2ZSB5ZWFyIGV4cGVyaWVuY2Ugb2YgZ2FsbGJsYWRkZXIgcG9seXAgc3VydmVpbGxhbmNlIGFuZCBjb3N0IGVmZmVjdGl2ZSBhbmFseXNpcyBhZ2FpbnN0IG5ldyBFdXJvcGVhbiBjb25zZW5zdXMgZ3VpZGVsaW5lcyoqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvYWJzL3BpaS9TMTM2NTE4MlgxODM0NDg3MwoKLS0tCgotICoqSW50cmFjaG9sZWN5c3RpYyBwYXBpbGxhcnktdHVidWxhciBuZW9wbGFzbSBpbiBhIHBhdGllbnQgd2l0aCBjaG9sZWRvY2hhbCBjeXN0IGFuZCBhbm9tYWxvdXMgcGFuY3JlYXRpY29iaWxpYXJ5IGp1bmN0aW9uOiBjYXNlIHJlcG9ydCoqCiAgICAKaHR0cHM6Ly93d3cuYmlycHVibGljYXRpb25zLm9yZy9kb2kvcGRmcGx1cy8xMC4xMjU5L2JqcmNyLjIwMTgwMDc5CgotLS0KICAgIAotICoqSW50cmFjaG9sZWN5c3RpYyBwYXBpbGxhcnnigJN0dWJ1bGFyIG5lb3BsYXNtIG9mIGdhbGxibGFkZGVyOiBBIDUteWVhciByZXRyb3NwZWN0aXZlIHBhdGhvbG9naWNhbCBzdHVkeSoqCiAgICAKICAgIApodHRwOi8vd3d3LmlqcG1vbmxpbmUub3JnL2FydGljbGUuYXNwP2lzc249MDM3Ny00OTI5O3llYXI9MjAxODt2b2x1bWU9NjE7aXNzdWU9NDtzcGFnZT01MTY7ZXBhZ2U9NTE5O2F1bGFzdD1IYXphcmlrYQoKCi0tLQogICAgCi0gKipBIGNhc2UgcmVwb3J0IG9mIGludHJhY2hvbGVjeXN0aWMgcGFwaWxsYXJ5IG5lb3BsYXNtIG9mIHRoZSBnYWxsYmxhZGRlciByZXNlbWJsaW5nIGEgc3VibXVjb3NhbCB0dW1vcioqCiAgICAKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjExODYvczQwNzkyLTAxOC0wNTI0LTIKCgotLS0KICAgIAotICoqT3V0Y29tZXMgb2Ygc3VyZ2ljYWwgcmVzZWN0aW9uIG9mIGdhbGxibGFkZGVyIGNhbmNlciBpbiBwYXRpZW50cyBwcmVzZW50aW5nIHdpdGggamF1bmRpY2U6IEEgc3lzdGVtYXRpYyByZXZpZXcgYW5kIG1ldGHigJBhbmFseXNpcyoqCiAgICAKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvanNvLjI1MTg2CgoKLS0tCgoKCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKIyMjIyBTdGFnaW5nCgpHYWxsYmxhZGRlciBUTk0gc3RhZ2luZywgTWFyZ2lucywgU3Vydml2YWwKCmBgYHtyIEdhbGxibGFkZGVyIFROTSBzdGFnaW5nIE1hcmdpbnMgU3Vydml2YWwsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzAwMTg0ODMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMDE4NDgzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMDE4NDgzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMDE4NDgzIDwtIHBhc3RlMChQTUlEXzMwMDE4NDgzJGpvdXJuYWwsJyAnLCBQTUlEXzMwMDE4NDgzJHllYXIsICcgJywgUE1JRF8zMDAxODQ4MyRtb250aCwnOycsIFBNSURfMzAwMTg0ODMkdm9sdW1lLCcoJywgUE1JRF8zMDAxODQ4MyRudW1iZXIsJyk6JywgUE1JRF8zMDAxODQ4MyRwYWdlcykKClB1Yk1lZF8zMDAxODQ4MyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMDE4NDgzJGVwcmludCkKCmRvaV8zMDAxODQ4MyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMDE4NDgzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMDE4NDgzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMDE4NDgzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAwMTg0ODMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAwMTg0ODMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMDE4NDgzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAwMTg0ODMkdGl0bGUgLCAiIFBNSUQ6IDMwMDE4NDgzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDAxODQ4MyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMDE4NDgzYCoKCmByIFB1Yk1lZF8zMDAxODQ4M2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMDE4NDgzYAoKYHIgUE1JRF8zMDAxODQ4MyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMDE4NDgzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMDE4NDgzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAwMTg0ODNgCgo8L2RldGFpbHM+CgotLS0KCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMgQW1wdWxsYSBvZiBWYXRlcgoKYGBge3IgUyBBbXB1bGxhIG9mIFZhdGVyLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgojIyMjIE1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCk1vcnBob2xvZ3ksIERpYWdub3N0aWNzLCBJSEMKCgpgYGB7ciBTIEFtcHVsbGEgb2YgVmF0ZXIgTW9ycGhvbG9neSBEaWFnbm9zdGljcyBJSEMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMjg5ODkwMDgsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzI4OTg5MDA4IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzI4OTg5MDA4JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzI4OTg5MDA4IDwtIHBhc3RlMChQTUlEXzI4OTg5MDA4JGpvdXJuYWwsJyAnLCBQTUlEXzI4OTg5MDA4JHllYXIsICcgJywgUE1JRF8yODk4OTAwOCRtb250aCwnOycsIFBNSURfMjg5ODkwMDgkdm9sdW1lLCcoJywgUE1JRF8yODk4OTAwOCRudW1iZXIsJyk6JywgUE1JRF8yODk4OTAwOCRwYWdlcykKClB1Yk1lZF8yODk4OTAwOCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzI4OTg5MDA4JGVwcmludCkKCmRvaV8yODk4OTAwOCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzI4OTg5MDA4JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzI4OTg5MDA4IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzI4OTg5MDA4JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMjg5ODkwMDggPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMjg5ODkwMDgkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzI4OTg5MDA4IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMjg5ODkwMDgkdGl0bGUgLCAiIFBNSUQ6IDI4OTg5MDA4ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8yODk4OTAwOCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzI4OTg5MDA4YCoKCmByIFB1Yk1lZF8yODk4OTAwOGAKCmByIGFkZHRoaXNfaW5saW5lXzI4OTg5MDA4YAoKYHIgUE1JRF8yODk4OTAwOCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzI4OTg5MDA4YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzI4OTg5MDA4YAoKYHIgYWx0bWV0cmljQmFkZ2VfMjg5ODkwMDhgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAyOTk1MDM2MywgaW5jbHVkZT1GQUxTRX0KClBNSURfMjk5NTAzNjMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjk5NTAzNjMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjk5NTAzNjMgPC0gcGFzdGUwKFBNSURfMjk5NTAzNjMkam91cm5hbCwnICcsIFBNSURfMjk5NTAzNjMkeWVhciwgJyAnLCBQTUlEXzI5OTUwMzYzJG1vbnRoLCc7JywgUE1JRF8yOTk1MDM2MyR2b2x1bWUsJygnLCBQTUlEXzI5OTUwMzYzJG51bWJlciwnKTonLCBQTUlEXzI5OTUwMzYzJHBhZ2VzKQoKUHViTWVkXzI5OTUwMzYzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjk5NTAzNjMkZXByaW50KQoKZG9pXzI5OTUwMzYzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjk5NTAzNjMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjk5NTAzNjMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjk5NTAzNjMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yOTk1MDM2MyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yOTk1MDM2MyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjk5NTAzNjMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yOTk1MDM2MyR0aXRsZSAsICIgUE1JRDogMjk5NTAzNjMgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI5OTUwMzYzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjk5NTAzNjNgKgoKYHIgUHViTWVkXzI5OTUwMzYzYAoKYHIgYWRkdGhpc19pbmxpbmVfMjk5NTAzNjNgCgpgciBQTUlEXzI5OTUwMzYzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjk5NTAzNjNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjk5NTAzNjNgCgpgciBhbHRtZXRyaWNCYWRnZV8yOTk1MDM2M2AKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDI4ODIyMzY4LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yODgyMjM2OCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyODgyMjM2OCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yODgyMjM2OCA8LSBwYXN0ZTAoUE1JRF8yODgyMjM2OCRqb3VybmFsLCcgJywgUE1JRF8yODgyMjM2OCR5ZWFyLCAnICcsIFBNSURfMjg4MjIzNjgkbW9udGgsJzsnLCBQTUlEXzI4ODIyMzY4JHZvbHVtZSwnKCcsIFBNSURfMjg4MjIzNjgkbnVtYmVyLCcpOicsIFBNSURfMjg4MjIzNjgkcGFnZXMpCgpQdWJNZWRfMjg4MjIzNjggPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yODgyMjM2OCRlcHJpbnQpCgpkb2lfMjg4MjIzNjggPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yODgyMjM2OCRkb2kpCgpkaW1lbnNpb25CYWRnZV8yODgyMjM2OCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yODgyMjM2OCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI4ODIyMzY4IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI4ODIyMzY4JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yODgyMjM2OCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI4ODIyMzY4JHRpdGxlICwgIiBQTUlEOiAyODgyMjM2OCAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjg4MjIzNjgkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yODgyMjM2OGAqCgpgciBQdWJNZWRfMjg4MjIzNjhgCgpgciBhZGR0aGlzX2lubGluZV8yODgyMjM2OGAKCmByIFBNSURfMjg4MjIzNjgkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yODgyMjM2OGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yODgyMjM2OGAKCmByIGFsdG1ldHJpY0JhZGdlXzI4ODIyMzY4YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqRHVvZGVuYWwgRXBpdGhlbGlhbCBQb2x5cHMqKgoKaHR0cDovL3d3dy5hcmNoaXZlc29mcGF0aG9sb2d5Lm9yZy9kb2kvcGRmLzEwLjU4NTgvYXJwYS4yMDE4LTAwMzQtUkEKCgotLS0KCmBgYHtyIDMwNDE5MjA1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQxOTIwNSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQxOTIwNScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQxOTIwNSA8LSBwYXN0ZTAoUE1JRF8zMDQxOTIwNSRqb3VybmFsLCcgJywgUE1JRF8zMDQxOTIwNSR5ZWFyLCAnICcsIFBNSURfMzA0MTkyMDUkbW9udGgsJzsnLCBQTUlEXzMwNDE5MjA1JHZvbHVtZSwnKCcsIFBNSURfMzA0MTkyMDUkbnVtYmVyLCcpOicsIFBNSURfMzA0MTkyMDUkcGFnZXMpCgpQdWJNZWRfMzA0MTkyMDUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQxOTIwNSRlcHJpbnQpCgpkb2lfMzA0MTkyMDUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQxOTIwNSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQxOTIwNSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQxOTIwNSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDE5MjA1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDE5MjA1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQxOTIwNSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDE5MjA1JHRpdGxlICwgIiBQTUlEOiAzMDQxOTIwNSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0MTkyMDUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQxOTIwNWAqCgpgciBQdWJNZWRfMzA0MTkyMDVgCgpgciBhZGR0aGlzX2lubGluZV8zMDQxOTIwNWAKCmByIFBNSURfMzA0MTkyMDUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQxOTIwNWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQxOTIwNWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDE5MjA1YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAyODg0NjgzNCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMjg4NDY4MzQgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjg4NDY4MzQnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjg4NDY4MzQgPC0gcGFzdGUwKFBNSURfMjg4NDY4MzQkam91cm5hbCwnICcsIFBNSURfMjg4NDY4MzQkeWVhciwgJyAnLCBQTUlEXzI4ODQ2ODM0JG1vbnRoLCc7JywgUE1JRF8yODg0NjgzNCR2b2x1bWUsJygnLCBQTUlEXzI4ODQ2ODM0JG51bWJlciwnKTonLCBQTUlEXzI4ODQ2ODM0JHBhZ2VzKQoKUHViTWVkXzI4ODQ2ODM0IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjg4NDY4MzQkZXByaW50KQoKZG9pXzI4ODQ2ODM0IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjg4NDY4MzQkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjg4NDY4MzQgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjg4NDY4MzQkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yODg0NjgzNCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yODg0NjgzNCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjg4NDY4MzQgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yODg0NjgzNCR0aXRsZSAsICIgUE1JRDogMjg4NDY4MzQgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI4ODQ2ODM0JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjg4NDY4MzRgKgoKYHIgUHViTWVkXzI4ODQ2ODM0YAoKYHIgYWRkdGhpc19pbmxpbmVfMjg4NDY4MzRgCgpgciBQTUlEXzI4ODQ2ODM0JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjg4NDY4MzRgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjg4NDY4MzRgCgpgciBhbHRtZXRyaWNCYWRnZV8yODg0NjgzNGAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDI5NjA3OTUzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTYwNzk1MyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTYwNzk1MycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTYwNzk1MyA8LSBwYXN0ZTAoUE1JRF8yOTYwNzk1MyRqb3VybmFsLCcgJywgUE1JRF8yOTYwNzk1MyR5ZWFyLCAnICcsIFBNSURfMjk2MDc5NTMkbW9udGgsJzsnLCBQTUlEXzI5NjA3OTUzJHZvbHVtZSwnKCcsIFBNSURfMjk2MDc5NTMkbnVtYmVyLCcpOicsIFBNSURfMjk2MDc5NTMkcGFnZXMpCgpQdWJNZWRfMjk2MDc5NTMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTYwNzk1MyRlcHJpbnQpCgpkb2lfMjk2MDc5NTMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTYwNzk1MyRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTYwNzk1MyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTYwNzk1MyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5NjA3OTUzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5NjA3OTUzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTYwNzk1MyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5NjA3OTUzJHRpdGxlICwgIiBQTUlEOiAyOTYwNzk1MyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk2MDc5NTMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTYwNzk1M2AqCgpgciBQdWJNZWRfMjk2MDc5NTNgCgpgciBhZGR0aGlzX2lubGluZV8yOTYwNzk1M2AKCmByIFBNSURfMjk2MDc5NTMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTYwNzk1M2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTYwNzk1M2AKCmByIGFsdG1ldHJpY0JhZGdlXzI5NjA3OTUzYAoKPC9kZXRhaWxzPgoKCgoKLS0tCgpgYGB7ciAzMDQ0ODQ2MCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0NDg0NjAgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0NDg0NjAnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0NDg0NjAgPC0gcGFzdGUwKFBNSURfMzA0NDg0NjAkam91cm5hbCwnICcsIFBNSURfMzA0NDg0NjAkeWVhciwgJyAnLCBQTUlEXzMwNDQ4NDYwJG1vbnRoLCc7JywgUE1JRF8zMDQ0ODQ2MCR2b2x1bWUsJygnLCBQTUlEXzMwNDQ4NDYwJG51bWJlciwnKTonLCBQTUlEXzMwNDQ4NDYwJHBhZ2VzKQoKUHViTWVkXzMwNDQ4NDYwIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0NDg0NjAkZXByaW50KQoKZG9pXzMwNDQ4NDYwIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0NDg0NjAkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0NDg0NjAgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0NDg0NjAkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQ0ODQ2MCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQ0ODQ2MCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0NDg0NjAgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQ0ODQ2MCR0aXRsZSAsICIgUE1JRDogMzA0NDg0NjAgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDQ4NDYwJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0NDg0NjBgKgoKYHIgUHViTWVkXzMwNDQ4NDYwYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0NDg0NjBgCgpgciBQTUlEXzMwNDQ4NDYwJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0NDg0NjBgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0NDg0NjBgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQ0ODQ2MGAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkFtcHVsbGEgb2YgVmF0ZXIgY2FyY2lub21hOiBNb2xlY3VsYXIgbGFuZHNjYXBlIGFuZCBjbGluaWNhbCBpbXBsaWNhdGlvbnMqKgoKCmh0dHBzOi8vd3d3LndqZ25ldC5jb20vMTk0OC01MjA0L2Z1bGwvdjEwL2kxMS8zNzAuaHRtCgoKLS0tCgoKCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgojIyMjIFN0YWdpbmcKCkFtcHVsbGEgb2YgVmF0ZXIgVE5NIHN0YWdpbmcsIE1hcmdpbnMsIFN1cnZpdmFsCgpgYGB7ciBBbXB1bGxhIG9mIFZhdGVyIFROTSBzdGFnaW5nIE1hcmdpbnMgU3Vydml2YWwsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKYGBge3IgMzA0NTE3OTcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDUxNzk3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDUxNzk3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDUxNzk3IDwtIHBhc3RlMChQTUlEXzMwNDUxNzk3JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDUxNzk3JHllYXIsICcgJywgUE1JRF8zMDQ1MTc5NyRtb250aCwnOycsIFBNSURfMzA0NTE3OTckdm9sdW1lLCcoJywgUE1JRF8zMDQ1MTc5NyRudW1iZXIsJyk6JywgUE1JRF8zMDQ1MTc5NyRwYWdlcykKClB1Yk1lZF8zMDQ1MTc5NyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDUxNzk3JGVwcmludCkKCmRvaV8zMDQ1MTc5NyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDUxNzk3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDUxNzk3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDUxNzk3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0NTE3OTcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0NTE3OTckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDUxNzk3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0NTE3OTckdGl0bGUgLCAiIFBNSUQ6IDMwNDUxNzk3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQ1MTc5NyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDUxNzk3YCoKCmByIFB1Yk1lZF8zMDQ1MTc5N2AKCmByIGFkZHRoaXNfaW5saW5lXzMwNDUxNzk3YAoKYHIgUE1JRF8zMDQ1MTc5NyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDUxNzk3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDUxNzk3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0NTE3OTdgCgo8L2RldGFpbHM+CgotLS0KCgotLS0KCmBgYHtyIDI5NDUyNzAzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTQ1MjcwMyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTQ1MjcwMycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTQ1MjcwMyA8LSBwYXN0ZTAoUE1JRF8yOTQ1MjcwMyRqb3VybmFsLCcgJywgUE1JRF8yOTQ1MjcwMyR5ZWFyLCAnICcsIFBNSURfMjk0NTI3MDMkbW9udGgsJzsnLCBQTUlEXzI5NDUyNzAzJHZvbHVtZSwnKCcsIFBNSURfMjk0NTI3MDMkbnVtYmVyLCcpOicsIFBNSURfMjk0NTI3MDMkcGFnZXMpCgpQdWJNZWRfMjk0NTI3MDMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTQ1MjcwMyRlcHJpbnQpCgpkb2lfMjk0NTI3MDMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTQ1MjcwMyRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTQ1MjcwMyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTQ1MjcwMyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5NDUyNzAzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5NDUyNzAzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTQ1MjcwMyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5NDUyNzAzJHRpdGxlICwgIiBQTUlEOiAyOTQ1MjcwMyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk0NTI3MDMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTQ1MjcwM2AqCgpgciBQdWJNZWRfMjk0NTI3MDNgCgpgciBhZGR0aGlzX2lubGluZV8yOTQ1MjcwM2AKCmByIFBNSURfMjk0NTI3MDMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTQ1MjcwM2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTQ1MjcwM2AKCmByIGFsdG1ldHJpY0JhZGdlXzI5NDUyNzAzYAoKPC9kZXRhaWxzPgoKLS0tCgotICoqUHJvZ25vc3RpYyByb2xlIG9mIG1ldGFzdGF0aWMgbHltcGggbm9kZSBudW1iZXIgYW5kIGx5bXBoIG5vZGUgcmF0aW8gaW4gYW1wdWxsYXJ5IGFkZW5vY2FyY2lub21hKioKICAgIApodHRwOi8vY2FuY2VyLXJlc2VhcmNoLWZyb250aWVycy5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTAvQ1JGLTE4MzMtNC0xLnBkZgoKICAgIApodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3B1YmxpY2F0aW9uLzMyODIzNTA5OV9Qcm9nbm9zdGljX3JvbGVfb2ZfbWV0YXN0YXRpY19seW1waF9ub2RlX251bWJlcl9hbmRfbHltcGhfbm9kZV9yYXRpb19pbl9hbXB1bGxhcnlfYWRlbm9jYXJjaW5vbWEKCgotLS0KCi0gKipQZXJpbmV1cmFsIEludmFzaW9uIGlzIGEgU3Ryb25nIFByb2dub3N0aWMgTW9kZXJhdG9yIGluIEFtcHVsbGEgb2YgVmF0ZXIgQ2FyY2lub21hIEEgTWV0YS1hbmFseXNpcyoqCgpodHRwczovL2pvdXJuYWxzLmx3dy5jb20vcGFuY3JlYXNqb3VybmFsL0Fic3RyYWN0L3B1Ymxpc2hhaGVhZC9QZXJpbmV1cmFsX0ludmFzaW9uX2lzX2FfU3Ryb25nX1Byb2dub3N0aWMuOTg1MDEuYXNweAoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCi0tLQoKIyMjIE5ldXJvZW5kb2NyaW5lCgojIyMjIFBhbk5ldAoKUGFuTkVULCBQYW5jcmVhdGljIE5ldXJvZW5kb2NyaW5lIFR1bW9ycyBhbmQgcmVsYXRlZCBuZXVyb2VuZG9jcmluZSBuZW9wbGFzbXMKCmBgYHtyIFMgUGFuTkVUIE5ldXJvZW5kb2NyaW5lLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwMzY3MzM0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDM2NzMzNCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDM2NzMzNCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDM2NzMzNCA8LSBwYXN0ZTAoUE1JRF8zMDM2NzMzNCRqb3VybmFsLCcgJywgUE1JRF8zMDM2NzMzNCR5ZWFyLCAnICcsIFBNSURfMzAzNjczMzQkbW9udGgsJzsnLCBQTUlEXzMwMzY3MzM0JHZvbHVtZSwnKCcsIFBNSURfMzAzNjczMzQkbnVtYmVyLCcpOicsIFBNSURfMzAzNjczMzQkcGFnZXMpCgpQdWJNZWRfMzAzNjczMzQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDM2NzMzNCRlcHJpbnQpCgpkb2lfMzAzNjczMzQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDM2NzMzNCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDM2NzMzNCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDM2NzMzNCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzY3MzM0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzY3MzM0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDM2NzMzNCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzY3MzM0JHRpdGxlICwgIiBQTUlEOiAzMDM2NzMzNCAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzNjczMzQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDM2NzMzNGAqCgpgciBQdWJNZWRfMzAzNjczMzRgCgpgciBhZGR0aGlzX2lubGluZV8zMDM2NzMzNGAKCmByIFBNSURfMzAzNjczMzQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDM2NzMzNGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDM2NzMzNGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzY3MzM0YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzAzOTExMTYsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzkxMTE2IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzkxMTE2JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzkxMTE2IDwtIHBhc3RlMChQTUlEXzMwMzkxMTE2JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzkxMTE2JHllYXIsICcgJywgUE1JRF8zMDM5MTExNiRtb250aCwnOycsIFBNSURfMzAzOTExMTYkdm9sdW1lLCcoJywgUE1JRF8zMDM5MTExNiRudW1iZXIsJyk6JywgUE1JRF8zMDM5MTExNiRwYWdlcykKClB1Yk1lZF8zMDM5MTExNiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzkxMTE2JGVwcmludCkKCmRvaV8zMDM5MTExNiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzkxMTE2JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzkxMTE2IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzkxMTE2JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzOTExMTYgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzOTExMTYkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzkxMTE2IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzOTExMTYkdGl0bGUgLCAiIFBNSUQ6IDMwMzkxMTE2ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM5MTExNiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzkxMTE2YCoKCmByIFB1Yk1lZF8zMDM5MTExNmAKCmByIGFkZHRoaXNfaW5saW5lXzMwMzkxMTE2YAoKYHIgUE1JRF8zMDM5MTExNiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzkxMTE2YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzkxMTE2YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzOTExMTZgCgo8L2RldGFpbHM+CgoKCi0tLQoKYGBge3IgMzAzMDg1MzcsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzA4NTM3IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzA4NTM3JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzA4NTM3IDwtIHBhc3RlMChQTUlEXzMwMzA4NTM3JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzA4NTM3JHllYXIsICcgJywgUE1JRF8zMDMwODUzNyRtb250aCwnOycsIFBNSURfMzAzMDg1Mzckdm9sdW1lLCcoJywgUE1JRF8zMDMwODUzNyRudW1iZXIsJyk6JywgUE1JRF8zMDMwODUzNyRwYWdlcykKClB1Yk1lZF8zMDMwODUzNyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzA4NTM3JGVwcmludCkKCmRvaV8zMDMwODUzNyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzA4NTM3JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzA4NTM3IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzA4NTM3JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzMDg1MzcgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzMDg1MzckZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzA4NTM3IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzMDg1MzckdGl0bGUgLCAiIFBNSUQ6IDMwMzA4NTM3ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDMwODUzNyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzA4NTM3YCoKCmByIFB1Yk1lZF8zMDMwODUzN2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMzA4NTM3YAoKYHIgUE1JRF8zMDMwODUzNyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzA4NTM3YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzA4NTM3YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzMDg1MzdgCgo8L2RldGFpbHM+CgotLS0KCi0gKipJbmNpZGVudGFsbHkgZGV0ZWN0ZWQgcGFuY3JlYXRpYyBuZXVyb2VuZG9jcmluZSBtaWNyb2FkZW5vbWEgd2l0aCBseW1waCBub2RlIG1ldGFzdGFzaXMqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczAwNDI4LTAxOC0yNDA3LTAKCi0tLQoKLSAqKkNvbXBhcmlzb24gb2YgTW9uaXRvci1JbWFnZSBhbmQgUHJpbnRvdXQtSW1hZ2UgTWV0aG9kcyBpbiBLaS02NyBTY29yaW5nIG9mIEdhc3Ryb2VudGVyb3BhbmNyZWF0aWMgTmV1cm9lbmRvY3JpbmUgVHVtb3JzKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vYXJ0aWNsZS8xMC4xMDA3L3MxMjAyMi0wMTgtOTU1NC0zCgoKLS0tCgpgYGB7ciAyOTUyMDU2MywgaW5jbHVkZT1GQUxTRX0KClBNSURfMjk1MjA1NjMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjk1MjA1NjMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjk1MjA1NjMgPC0gcGFzdGUwKFBNSURfMjk1MjA1NjMkam91cm5hbCwnICcsIFBNSURfMjk1MjA1NjMkeWVhciwgJyAnLCBQTUlEXzI5NTIwNTYzJG1vbnRoLCc7JywgUE1JRF8yOTUyMDU2MyR2b2x1bWUsJygnLCBQTUlEXzI5NTIwNTYzJG51bWJlciwnKTonLCBQTUlEXzI5NTIwNTYzJHBhZ2VzKQoKUHViTWVkXzI5NTIwNTYzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjk1MjA1NjMkZXByaW50KQoKZG9pXzI5NTIwNTYzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjk1MjA1NjMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjk1MjA1NjMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjk1MjA1NjMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yOTUyMDU2MyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yOTUyMDU2MyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjk1MjA1NjMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yOTUyMDU2MyR0aXRsZSAsICIgUE1JRDogMjk1MjA1NjMgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI5NTIwNTYzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjk1MjA1NjNgKgoKYHIgUHViTWVkXzI5NTIwNTYzYAoKYHIgYWRkdGhpc19pbmxpbmVfMjk1MjA1NjNgCgpgciBQTUlEXzI5NTIwNTYzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjk1MjA1NjNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjk1MjA1NjNgCgpgciBhbHRtZXRyaWNCYWRnZV8yOTUyMDU2M2AKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkluY3JlYXNlZCBpbmNpZGVuY2UgdHJlbmQgb2YgbG93LWdyYWRlIGFuZCBoaWdoLWdyYWRlIG5ldXJvZW5kb2NyaW5lIG5lb3BsYXNtcyoqCgpodHRwczovL2N5YmVybGVuaW5rYS5vcmcvYXJ0aWNsZS9uLzE0OTE2OTYKCgotLS0KCi0gKipXZWxsIGRpZmZlcmVudGlhdGVkIG5ldXJvZW5kb2NyaW5lIHR1bW9ycywgYSBzaW5nbGUgY2VudGVyIGV4cGVyaWVuY2UqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMjQ1MjMzNjQxODMwMDU2NgoKCi0tLQoKLSAqKkRBWFggTXV0YXRpb24gU3RhdHVzIG9mIEVtYm9saXphdGlvbi1UcmVhdGVkIE5ldXJvZW5kb2NyaW5lIFR1bW9ycyBQcmVkaWN0cyBTaG9ydGVyIFRpbWUgdG8gSGVwYXRpYyBQcm9ncmVzc2lvbioqCiAgICAKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMTA1MTA0NDMxODMxMjQ5MQoKCgotLS0KICAgIAotICoqVGhlIHVzZSBvZiBLaS02NyBsYWJlbGluZyBpbmRleCB0byBncmFkZSBwdWxtb25hcnkgd2VsbC1kaWZmZXJlbnRpYXRlZCBuZXVyb2VuZG9jcmluZSBuZW9wbGFzbXM6IGN1cnJlbnQgYmVzdCBldmlkZW5jZSoqCiAgICAKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzNzktMDE4LTAwNzYtOQoKCi0tLQogICAgCiAgICAKLSAqKkNPTVBFVElUSVZFIFRFU1RJTkcgVEhFIFdITyAyMDEwIFZTIFRIRSBXSE8gMjAxNyBHUkFESU5HIE9GIFBBTkNSRUFTIE5FVVJPRU5ET0NSSU5FIE5FT1BMQVNJQTogREFUQSBGUk9NIEEgTEFSR0UgSU5URVJOQVRJT05BTCBDT0hPUlQgU1RVRFkqKgogICAgCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzI4MTk5NzI3X0NPTVBFVElUSVZFX1RFU1RJTkdfVEhFX1dIT18yMDEwX1ZTX1RIRV9XSE9fMjAxN19HUkFESU5HX09GX1BBTkNSRUFTX05FVVJPRU5ET0NSSU5FX05FT1BMQVNJQV9EQVRBX0ZST01fQV9MQVJHRV9JTlRFUk5BVElPTkFMX0NPSE9SVF9TVFVEWQoKCmh0dHBzOi8vd3d3Lmthcmdlci5jb20vQXJ0aWNsZS9BYnN0cmFjdC80OTQzNTUKCgoKLS0tCiAgICAKLSAqKktpLTY3IGFuZCBwcmVzZW5jZSBvZiBsaXZlciBtZXRhc3Rhc2VzIGlkZW50aWZ5IGRpZmZlcmVudCBwcm9ncmVzc2lvbi1yaXNrIGNsYXNzZXMgaW4gcGFuY3JlYXRpYyBuZXVyb2VuZG9jcmluZSBuZW9wbGFzbXMgKHBORU4pIHVuZGVyZ29pbmcgcmVzZWN0aW9uKioKICAgIAogICAgCmh0dHBzOi8vd3d3LmVqc28uY29tL2FydGljbGUvUzA3NDgtNzk4MygxOCkzMTQ1Mi01L2Z1bGx0ZXh0CgoKCgotLS0KICAgIAotICoqR2FzdHJvZW50ZXJvcGFuY3JlYXRpYyBOZXVyb2VuZG9jcmluZSBUdW1vcnMqKgogICAgCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL3BkZi8xMC4zMzIyL2NhYWMuMjE0OTMKCi0tLQogICAgCi0gKipJbWFnaW5nIHByZXNlbnRhdGlvbiBvZiBwYW5jcmVhdGljIG5ldXJvZW5kb2NyaW5lIG5lb3BsYXNtcyoqCiAgICAKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczEzMjQ0LTAxOC0wNjU4LTYKCiAgICAKLS0tCgotICoqQ2FzZSBSZXBvcnQ6IENhbiBhIGhpZ2gtZ3JhZGUgbmV1cm9lbmRvY3JpbmUgY2FyY2lub21hIGJlIGZ1bmN0aW9uYWw/KioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9hYnMvcGlpL1MwMDAyOTYyOTE4MzA0MTQyCgoKLS0tCgotICoqQXNzb2NpYXRpb24gYmV0d2VlbiBwcmVvcGVyYXRpdmUgVmFzb3N0YXRpbi0xIGFuZCBwYXRob2xvZ2ljYWwgZmVhdHVyZXMgb2YgYWdncmVzc2l2ZW5lc3MgaW4gbG9jYWxpemVkIG5vbmZ1bmN0aW9uaW5nIHBhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgdHVtb3JzIChORi1QYW5ORVQpKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzE0MjQzOTAzMTgzMDc1MlgKCi0tLQoKLSAqKkxpbWl0ZWQgcm9sZSBvZiBDaHJvbW9ncmFuaW4gQSBhcyBjbGluaWNhbCBiaW9tYXJrZXIgZm9yIHBhbmNyZWF0aWMgbmV1cm9lbmRvY3JpbmUgdHVtb3JzKioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvYWJzL3BpaS9TMTM2NTE4MlgxODM0NDY2NgoKCi0tLQoKYGBge3IgMzA0NDcyOTksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDQ3Mjk5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDQ3Mjk5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDQ3Mjk5IDwtIHBhc3RlMChQTUlEXzMwNDQ3Mjk5JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDQ3Mjk5JHllYXIsICcgJywgUE1JRF8zMDQ0NzI5OSRtb250aCwnOycsIFBNSURfMzA0NDcyOTkkdm9sdW1lLCcoJywgUE1JRF8zMDQ0NzI5OSRudW1iZXIsJyk6JywgUE1JRF8zMDQ0NzI5OSRwYWdlcykKClB1Yk1lZF8zMDQ0NzI5OSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDQ3Mjk5JGVwcmludCkKCmRvaV8zMDQ0NzI5OSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDQ3Mjk5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDQ3Mjk5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDQ3Mjk5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0NDcyOTkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0NDcyOTkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDQ3Mjk5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0NDcyOTkkdGl0bGUgLCAiIFBNSUQ6IDMwNDQ3Mjk5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQ0NzI5OSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDQ3Mjk5YCoKCmByIFB1Yk1lZF8zMDQ0NzI5OWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDQ3Mjk5YAoKYHIgUE1JRF8zMDQ0NzI5OSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDQ3Mjk5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDQ3Mjk5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0NDcyOTlgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAzMDQ1MTc5OSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0NTE3OTkgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0NTE3OTknLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0NTE3OTkgPC0gcGFzdGUwKFBNSURfMzA0NTE3OTkkam91cm5hbCwnICcsIFBNSURfMzA0NTE3OTkkeWVhciwgJyAnLCBQTUlEXzMwNDUxNzk5JG1vbnRoLCc7JywgUE1JRF8zMDQ1MTc5OSR2b2x1bWUsJygnLCBQTUlEXzMwNDUxNzk5JG51bWJlciwnKTonLCBQTUlEXzMwNDUxNzk5JHBhZ2VzKQoKUHViTWVkXzMwNDUxNzk5IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0NTE3OTkkZXByaW50KQoKZG9pXzMwNDUxNzk5IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0NTE3OTkkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0NTE3OTkgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0NTE3OTkkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQ1MTc5OSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQ1MTc5OSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0NTE3OTkgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQ1MTc5OSR0aXRsZSAsICIgUE1JRDogMzA0NTE3OTkgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDUxNzk5JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0NTE3OTlgKgoKYHIgUHViTWVkXzMwNDUxNzk5YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0NTE3OTlgCgpgciBQTUlEXzMwNDUxNzk5JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0NTE3OTlgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0NTE3OTlgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQ1MTc5OWAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwNDUxODAwLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQ1MTgwMCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQ1MTgwMCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQ1MTgwMCA8LSBwYXN0ZTAoUE1JRF8zMDQ1MTgwMCRqb3VybmFsLCcgJywgUE1JRF8zMDQ1MTgwMCR5ZWFyLCAnICcsIFBNSURfMzA0NTE4MDAkbW9udGgsJzsnLCBQTUlEXzMwNDUxODAwJHZvbHVtZSwnKCcsIFBNSURfMzA0NTE4MDAkbnVtYmVyLCcpOicsIFBNSURfMzA0NTE4MDAkcGFnZXMpCgpQdWJNZWRfMzA0NTE4MDAgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQ1MTgwMCRlcHJpbnQpCgpkb2lfMzA0NTE4MDAgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQ1MTgwMCRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQ1MTgwMCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQ1MTgwMCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDUxODAwIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDUxODAwJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQ1MTgwMCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDUxODAwJHRpdGxlICwgIiBQTUlEOiAzMDQ1MTgwMCAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0NTE4MDAkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQ1MTgwMGAqCgpgciBQdWJNZWRfMzA0NTE4MDBgCgpgciBhZGR0aGlzX2lubGluZV8zMDQ1MTgwMGAKCmByIFBNSURfMzA0NTE4MDAkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQ1MTgwMGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQ1MTgwMGAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDUxODAwYAoKPC9kZXRhaWxzPgoKLS0tCgotICoqSGlnaCBNaW5pY2hyb21vc29tZSBtYWludGVuYW5jZSBwcm90ZWluIDcgcHJvbGlmZXJhdGlvbiBpbmRpY2VzOiBhIHBvd2VyZnVsIHByZWRpY3RvciBvZiBwcm9ncmVzc2lvbiBpbiBwYW5jcmVhdGljIG5ldXJvZW5kb2NyaW5lIG5lb3BsYXNtcyB3aXRob3V0IGRpc3RhbnQgbWV0YXN0YXNpcyBhdCB0aGUgdGltZSBvZiBzdXJnZXJ5KioKCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDQ2ODE3NzE4MzA0MjU4CgoKLS0tCgpgYGB7ciAzMDQ1NjY3MCwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0NTY2NzAgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0NTY2NzAnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0NTY2NzAgPC0gcGFzdGUwKFBNSURfMzA0NTY2NzAkam91cm5hbCwnICcsIFBNSURfMzA0NTY2NzAkeWVhciwgJyAnLCBQTUlEXzMwNDU2NjcwJG1vbnRoLCc7JywgUE1JRF8zMDQ1NjY3MCR2b2x1bWUsJygnLCBQTUlEXzMwNDU2NjcwJG51bWJlciwnKTonLCBQTUlEXzMwNDU2NjcwJHBhZ2VzKQoKUHViTWVkXzMwNDU2NjcwIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0NTY2NzAkZXByaW50KQoKZG9pXzMwNDU2NjcwIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0NTY2NzAkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0NTY2NzAgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0NTY2NzAkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQ1NjY3MCA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQ1NjY3MCRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0NTY2NzAgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQ1NjY3MCR0aXRsZSAsICIgUE1JRDogMzA0NTY2NzAgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDU2NjcwJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0NTY2NzBgKgoKYHIgUHViTWVkXzMwNDU2NjcwYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0NTY2NzBgCgpgciBQTUlEXzMwNDU2NjcwJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0NTY2NzBgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0NTY2NzBgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQ1NjY3MGAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwNDU2Njk3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQ1NjY5NyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQ1NjY5NycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQ1NjY5NyA8LSBwYXN0ZTAoUE1JRF8zMDQ1NjY5NyRqb3VybmFsLCcgJywgUE1JRF8zMDQ1NjY5NyR5ZWFyLCAnICcsIFBNSURfMzA0NTY2OTckbW9udGgsJzsnLCBQTUlEXzMwNDU2Njk3JHZvbHVtZSwnKCcsIFBNSURfMzA0NTY2OTckbnVtYmVyLCcpOicsIFBNSURfMzA0NTY2OTckcGFnZXMpCgpQdWJNZWRfMzA0NTY2OTcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQ1NjY5NyRlcHJpbnQpCgpkb2lfMzA0NTY2OTcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQ1NjY5NyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQ1NjY5NyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQ1NjY5NyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDU2Njk3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDU2Njk3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQ1NjY5NyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDU2Njk3JHRpdGxlICwgIiBQTUlEOiAzMDQ1NjY5NyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0NTY2OTckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQ1NjY5N2AqCgpgciBQdWJNZWRfMzA0NTY2OTdgCgpgciBhZGR0aGlzX2lubGluZV8zMDQ1NjY5N2AKCmByIFBNSURfMzA0NTY2OTckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQ1NjY5N2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQ1NjY5N2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDU2Njk3YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqTmV1cm9lbmRvY3JpbmUgTGl2ZXIgTWV0YXN0YXNpc+KAlGEgU3BlY2lmaWMgU2V0IG9mIE1hcmtlcnMgdG8gRGV0ZWN0IFByaW1hcnkgVHVtb3IgU2l0ZXMqKgoKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczEyMDIyLTAxOC05NTU4LXoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIyMgTWljcm9lbnZpcm9ubWVudCAKCk5ldXJvZW5kb2NyaW5lIFR1bW9yIFN0cm9tYSBJbnRlcmFjdGlvbnMsIE1pY3JvZW52aXJvbm1lbnQsIEluZmxhbW1hdG9yeSBSZXNwb25zZQoKYGBge3IgTmV1cm9lbmRvY3JpbmUgVHVtb3IgU3Ryb21hIEludGVyYWN0aW9ucyBNaWNyb2Vudmlyb25tZW50IEluZmxhbW1hdG9yeSBSZXNwb25zZSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgotLS0KCi0gKipUaGUgZXBpdGhlbGlhbC1tZXNlbmNoeW1hbCB0cmFuc2l0aW9uIGluZHVjZXMgYWdncmVzc2l2aXR5IG9mIG11Y2lub3VzIGN5c3RpYyBuZW9wbGFzbSBvZiB0aGUgcGFuY3JlYXMgd2l0aCBuZXVyb2VuZG9jcmluZSBjb21wb25lbnQ6IGFuIGltbXVub2hpc3RvY2hlbWlzdHJ5IHN0dWR5KioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMzQ0MDMzODE4MzEwNzdYCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgoKCgojIyMjIE5ldXJvZW5kb2NyaW5lIFRlY2huaXF1ZXMgJiBSZXNlYXJjaCBNZXRob2RzCgoKYGBge3IgTmV1cm9lbmRvY3JpbmUgVGVjaG5pcXVlcyAmIFJlc2VhcmNoIE1ldGhvZHMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKLSAqKlVzZWZ1bG5lc3Mgb2YgaW5kb2N5YW5pbmUgZ3JlZW7igJBmbHVvcmVzY2VuY2UgaW1hZ2luZyBmb3IgcmVhbOKAkHRpbWUgdmlzdWFsaXphdGlvbiBvZiBwYW5jcmVhcyBuZXVyb2VuZG9jcmluZSB0dW1vciBhbmQgY3lzdGljIG5lb3BsYXNtKioKICAgIApodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS8xMC4xMDAyL2pzby4yNTIzMQoKCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgoKCgoKIyMgQ3l0b3BhdGhvbG9neSB7LnRhYnNldH0KCgotLS0KCiMjIyBQYW5jcmVhcwoKYGBge3IgQyBQYW5jcmVhcywgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgotICoqQWJub3JtYWwgSW1tdW5vbGFiZWxpbmcgb2YgU01BRDQgaW4gQ2VsbCBCbG9jayBTcGVjaW1lbnMgRGlzdGluZ3Vpc2ggTWFsaWduYW50IGFuZCBCZW5pZ24gUGFuY3JlYXRpYyBDZWxscyoqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTExMS9jeXQuMTI2NTMKCgoKLS0tCgpgYGB7ciAzMDMwODUzNSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzMDg1MzUgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzMDg1MzUnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzMDg1MzUgPC0gcGFzdGUwKFBNSURfMzAzMDg1MzUkam91cm5hbCwnICcsIFBNSURfMzAzMDg1MzUkeWVhciwgJyAnLCBQTUlEXzMwMzA4NTM1JG1vbnRoLCc7JywgUE1JRF8zMDMwODUzNSR2b2x1bWUsJygnLCBQTUlEXzMwMzA4NTM1JG51bWJlciwnKTonLCBQTUlEXzMwMzA4NTM1JHBhZ2VzKQoKUHViTWVkXzMwMzA4NTM1IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzMDg1MzUkZXByaW50KQoKZG9pXzMwMzA4NTM1IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzMDg1MzUkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzMDg1MzUgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzMDg1MzUkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDMwODUzNSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDMwODUzNSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzMDg1MzUgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDMwODUzNSR0aXRsZSAsICIgUE1JRDogMzAzMDg1MzUgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzA4NTM1JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzMDg1MzVgKgoKYHIgUHViTWVkXzMwMzA4NTM1YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzMDg1MzVgCgpgciBQTUlEXzMwMzA4NTM1JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzMDg1MzVgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzMDg1MzVgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDMwODUzNWAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkVVUy1HdWlkZWQgRW5oYW5jZWQgSW1hZ2luZyBhbmQgU2FtcGxpbmcgb2YgTmVvcGxhc3RpYyBQYW5jcmVhdGljIEN5c3RzKioKCmh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vY2hhcHRlci8xMC4xMDA3Lzk3OC0zLTMxOS05NzM3Ni0wXzEyCgotLS0KCi0gKipQYW5jcmVhdGljIG1peGVkIGFjaW5hcuKAkG5ldXJvZW5kb2NyaW5lIGNhcmNpbm9tYSwgYSB1bmlxdWUgZGlhZ25vc3RpYyBjaGFsbGVuZ2Ugb24gRk5BIGN5dG9sb2d5OiBBIHNtYWxsIHNlcmllcyBvZiB0d28gY2FzZXMgd2l0aCBsaXRlcmF0dXJlIHJldmlldyoqCiAgICAKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvZGMuMjM5ODEKCi0tLQoKLSAqKkhpc3RvbG9naWMgcmV0cmlldmFsIHJhdGUgb2YgYSBuZXdseSBkZXNpZ25lZCBzaWRlLWJldmVsbGVkIDIwRyBuZWVkbGUgZm9yIEVVUy1ndWlkZWQgdGlzc3VlIGFjcXVpc2l0aW9uIG9mIHNvbGlkIHBhbmNyZWF0aWMgbGVzaW9ucyoqCiAgICAKaHR0cDovL2pvdXJuYWxzLnNhZ2VwdWIuY29tL2RvaS9wZGYvMTAuMTE3Ny8yMDUwNjQwNjE4ODA0NDQzCgoKLS0tCgogICAgCi0gKipQYW5jcmVhdGljb2JpbGlhcnkgY3l0b3BhdGhvbG9neTogYW4gdXBkYXRlKioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxNzU2MjMxNzE4MzAxMzk3CgoKLS0tCgotICoqUmVjbGFzc2lmaWNhdGlvbiBvZiBsZXNpb25zIGluIGJpb3BzaWVzIGJ5IGZpbmUtbmVlZGxlIGFzcGlyYXRpb24gb2YgcGFuY3JlYXMgYW5kIGJpbGlhcnkgdHJlZSB1c2luZyBQYXBhbmljb2xhb3UgY2xhc3NpZmljYXRpb24qKgoKCmh0dHA6Ly9qZ28uYW1lZ3JvdXBzLmNvbS9hcnRpY2xlL3ZpZXcvMjI0NjkvaHRtbAoKCi0tLQoKYGBge3IgMzA0MjE0NjQsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDIxNDY0IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDIxNDY0JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDIxNDY0IDwtIHBhc3RlMChQTUlEXzMwNDIxNDY0JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDIxNDY0JHllYXIsICcgJywgUE1JRF8zMDQyMTQ2NCRtb250aCwnOycsIFBNSURfMzA0MjE0NjQkdm9sdW1lLCcoJywgUE1JRF8zMDQyMTQ2NCRudW1iZXIsJyk6JywgUE1JRF8zMDQyMTQ2NCRwYWdlcykKClB1Yk1lZF8zMDQyMTQ2NCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDIxNDY0JGVwcmludCkKCmRvaV8zMDQyMTQ2NCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDIxNDY0JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDIxNDY0IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDIxNDY0JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0MjE0NjQgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0MjE0NjQkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDIxNDY0IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0MjE0NjQkdGl0bGUgLCAiIFBNSUQ6IDMwNDIxNDY0ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQyMTQ2NCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDIxNDY0YCoKCmByIFB1Yk1lZF8zMDQyMTQ2NGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDIxNDY0YAoKYHIgUE1JRF8zMDQyMTQ2NCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDIxNDY0YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDIxNDY0YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0MjE0NjRgCgo8L2RldGFpbHM+CgotLS0KCi0gKipSYXRpb25hbGUgYW5kIGZlYXNpYmlsaXR5IG9mIG11Y2luIGV4cHJlc3Npb24gcHJvZmlsaW5nIGJ5IHFSVC1QQ1IgYXMgZGlhZ25vc3RpYyBiaW9tYXJrZXJzIGluIGN5dG9sb2d5IHNwZWNpbWVucyBvZiBwYW5jcmVhdGljIGNhbmNlcioqCiAgICAKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMTQyNDM5MDMxODMwNjg1OQoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgoKCgojIyMgQmlsZSBEdWN0cwoKYGBge3IgQyBCaWxlIER1Y3RzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgoKIyMjIEdhbGxibGFkZGVyCgpgYGB7ciBDIEdhbGxibGFkZGVyLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgoKLS0tCgpgYGB7ciAzMDM3NTE4MSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzNzUxODEgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzNzUxODEnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzNzUxODEgPC0gcGFzdGUwKFBNSURfMzAzNzUxODEkam91cm5hbCwnICcsIFBNSURfMzAzNzUxODEkeWVhciwgJyAnLCBQTUlEXzMwMzc1MTgxJG1vbnRoLCc7JywgUE1JRF8zMDM3NTE4MSR2b2x1bWUsJygnLCBQTUlEXzMwMzc1MTgxJG51bWJlciwnKTonLCBQTUlEXzMwMzc1MTgxJHBhZ2VzKQoKUHViTWVkXzMwMzc1MTgxIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzNzUxODEkZXByaW50KQoKZG9pXzMwMzc1MTgxIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzNzUxODEkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzNzUxODEgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzNzUxODEkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM3NTE4MSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM3NTE4MSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzNzUxODEgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM3NTE4MSR0aXRsZSAsICIgUE1JRDogMzAzNzUxODEgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzc1MTgxJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzNzUxODFgKgoKYHIgUHViTWVkXzMwMzc1MTgxYAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzNzUxODFgCgpgciBQTUlEXzMwMzc1MTgxJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzNzUxODFgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzNzUxODFgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM3NTE4MWAKCjwvZGV0YWlscz4KCi0tLQoKCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgoKIyMjIEFtcHVsbGEgb2YgVmF0ZXIKCmBgYHtyIEMgQW1wdWxsYSBvZiBWYXRlciwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKIyMjIE5ldXJvZW5kb2NyaW5lCgpgYGB7ciBDIE5ldXJvZW5kb2NyaW5lLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCmBgYHtyIDMwMjExODA1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDIxMTgwNSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDIxMTgwNScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDIxMTgwNSA8LSBwYXN0ZTAoUE1JRF8zMDIxMTgwNSRqb3VybmFsLCcgJywgUE1JRF8zMDIxMTgwNSR5ZWFyLCAnICcsIFBNSURfMzAyMTE4MDUkbW9udGgsJzsnLCBQTUlEXzMwMjExODA1JHZvbHVtZSwnKCcsIFBNSURfMzAyMTE4MDUkbnVtYmVyLCcpOicsIFBNSURfMzAyMTE4MDUkcGFnZXMpCgpQdWJNZWRfMzAyMTE4MDUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDIxMTgwNSRlcHJpbnQpCgpkb2lfMzAyMTE4MDUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDIxMTgwNSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDIxMTgwNSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDIxMTgwNSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMjExODA1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMjExODA1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDIxMTgwNSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMjExODA1JHRpdGxlICwgIiBQTUlEOiAzMDIxMTgwNSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAyMTE4MDUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDIxMTgwNWAqCgpgciBQdWJNZWRfMzAyMTE4MDVgCgpgciBhZGR0aGlzX2lubGluZV8zMDIxMTgwNWAKCmByIFBNSURfMzAyMTE4MDUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDIxMTgwNWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDIxMTgwNWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMjExODA1YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqQWNjdXJhY3kgb2YgR3JhZGluZyBQYW5jcmVhdGljIE5ldXJvZW5kb2NyaW5lIE5lb3BsYXNtcyB3aXRoIEtp4oCQNjcgSW5kZXggaW4gRmluZeKAkE5lZWRsZSBBc3BpcmF0aW9uIENlbGxibG9jayBNYXRlcmlhbCoqCiAgICAKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvMTAuMTExMS9jeXQuMTI2NDMKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCiMjIE1vbGVjdWxhciBQYXRob2xvZ3kgey50YWJzZXR9CgotLS0KCgojIyMgUGFuY3JlYXMKCmBgYHtyIE0gUGFuY3JlYXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKLSAqKlRQNjMtTWVkaWF0ZWQgRW5oYW5jZXIgUmVwcm9ncmFtbWluZyBEcml2ZXMgdGhlIFNxdWFtb3VzIFN1YnR5cGUgb2YgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEqKgoKaHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMjIxMTEyNDcxODMxNjQwMQoKCgoKLS0tCgpgYGB7ciAzMDI2NzMwMywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAyNjczMDMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAyNjczMDMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAyNjczMDMgPC0gcGFzdGUwKFBNSURfMzAyNjczMDMkam91cm5hbCwnICcsIFBNSURfMzAyNjczMDMkeWVhciwgJyAnLCBQTUlEXzMwMjY3MzAzJG1vbnRoLCc7JywgUE1JRF8zMDI2NzMwMyR2b2x1bWUsJygnLCBQTUlEXzMwMjY3MzAzJG51bWJlciwnKTonLCBQTUlEXzMwMjY3MzAzJHBhZ2VzKQoKUHViTWVkXzMwMjY3MzAzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAyNjczMDMkZXByaW50KQoKZG9pXzMwMjY3MzAzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAyNjczMDMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAyNjczMDMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAyNjczMDMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDI2NzMwMyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDI2NzMwMyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAyNjczMDMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDI2NzMwMyR0aXRsZSAsICIgUE1JRDogMzAyNjczMDMgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMjY3MzAzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAyNjczMDNgKgoKYHIgUHViTWVkXzMwMjY3MzAzYAoKYHIgYWRkdGhpc19pbmxpbmVfMzAyNjczMDNgCgpgciBQTUlEXzMwMjY3MzAzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAyNjczMDNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAyNjczMDNgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDI2NzMwM2AKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDI5NDkyNzE1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTQ5MjcxNSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTQ5MjcxNScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTQ5MjcxNSA8LSBwYXN0ZTAoUE1JRF8yOTQ5MjcxNSRqb3VybmFsLCcgJywgUE1JRF8yOTQ5MjcxNSR5ZWFyLCAnICcsIFBNSURfMjk0OTI3MTUkbW9udGgsJzsnLCBQTUlEXzI5NDkyNzE1JHZvbHVtZSwnKCcsIFBNSURfMjk0OTI3MTUkbnVtYmVyLCcpOicsIFBNSURfMjk0OTI3MTUkcGFnZXMpCgpQdWJNZWRfMjk0OTI3MTUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTQ5MjcxNSRlcHJpbnQpCgpkb2lfMjk0OTI3MTUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTQ5MjcxNSRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTQ5MjcxNSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTQ5MjcxNSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5NDkyNzE1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5NDkyNzE1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTQ5MjcxNSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5NDkyNzE1JHRpdGxlICwgIiBQTUlEOiAyOTQ5MjcxNSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk0OTI3MTUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTQ5MjcxNWAqCgpgciBQdWJNZWRfMjk0OTI3MTVgCgpgciBhZGR0aGlzX2lubGluZV8yOTQ5MjcxNWAKCmByIFBNSURfMjk0OTI3MTUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTQ5MjcxNWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTQ5MjcxNWAKCmByIGFsdG1ldHJpY0JhZGdlXzI5NDkyNzE1YAoKPC9kZXRhaWxzPgoKCi0tLQoKYGBge3IgMzAzNjUxMzQsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzY1MTM0IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzY1MTM0JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzY1MTM0IDwtIHBhc3RlMChQTUlEXzMwMzY1MTM0JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzY1MTM0JHllYXIsICcgJywgUE1JRF8zMDM2NTEzNCRtb250aCwnOycsIFBNSURfMzAzNjUxMzQkdm9sdW1lLCcoJywgUE1JRF8zMDM2NTEzNCRudW1iZXIsJyk6JywgUE1JRF8zMDM2NTEzNCRwYWdlcykKClB1Yk1lZF8zMDM2NTEzNCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzY1MTM0JGVwcmludCkKCmRvaV8zMDM2NTEzNCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzY1MTM0JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzY1MTM0IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzY1MTM0JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzNjUxMzQgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzNjUxMzQkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzY1MTM0IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzNjUxMzQkdGl0bGUgLCAiIFBNSUQ6IDMwMzY1MTM0ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM2NTEzNCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzY1MTM0YCoKCmByIFB1Yk1lZF8zMDM2NTEzNGAKCmByIGFkZHRoaXNfaW5saW5lXzMwMzY1MTM0YAoKYHIgUE1JRF8zMDM2NTEzNCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzY1MTM0YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzY1MTM0YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzNjUxMzRgCgo8L2RldGFpbHM+CgotLS0KCi0gKipBc3Nlc3NpbmcgVGhlIFByZWRpY3RpdmUgVmFsdWUgT2YgUmVndWxhdG9yeSBNb2xlY3VsZXMgRm9yIFBhdGllbnQgT3V0Y29tZSBJbiBQYW5jcmVhdGljIENhbmNlcjogQSBDb21wdXRhdGlvbmFsIEFwcHJvYWNoKioKCgpodHRwczovL2llZWV4cGxvcmUuaWVlZS5vcmcvYWJzdHJhY3QvZG9jdW1lbnQvODUxMjQ3NwoKCi0tLQoKLSAqKkdlbmV0aWMgRHJpdmVycyBvZiBQYW5jcmVhdGljIENhbmNlciBBcmUgSWRlbnRpY2FsIEJldHdlZW4gdGhlIFByaW1hcnkgVHVtb3IgYW5kIGEgU2Vjb25kYXJ5IExlc2lvbiBpbiBhIExvbmctVGVybSAoPjUgWWVhcnMpIFN1cnZpdm9yIEFmdGVyIGEgV2hpcHBsZSBQcm9jZWR1cmUqKgoKaHR0cHM6Ly93d3cubGllYmVydHB1Yi5jb20vZG9pL2Ficy8xMC4xMDg5L3BhbmNhbi4yMDE4LjAwMTUKCgotLS0KCi0gKipDb21iYXRpbmcgcGFuY3JlYXRpYyBjYW5jZXIgd2l0aCBQSTNLIHBhdGh3YXkgaW5oaWJpdG9ycyBpbiB0aGUgZXJhIG9mIHBlcnNvbmFsaXNlZCBtZWRpY2luZSoqCgoKaHR0cHM6Ly9ndXQuYm1qLmNvbS9jb250ZW50L2Vhcmx5LzIwMTgvMTEvMDUvZ3V0am5sLTIwMTgtMzE2ODIyCgotLS0KCi0gKipUaGUgcm9sZSBvZiBHTEktU09YMiBzaWduYWxpbmcgYXhpcyBmb3IgZ2VtY2l0YWJpbmUgcmVzaXN0YW5jZSBpbiBwYW5jcmVhdGljIGNhbmNlcioqCgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDEzODgtMDE4LTA1NTMtMAoKCi0tLQoKYGBge3IgMzA0MDY0MDAsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDA2NDAwIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDA2NDAwJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDA2NDAwIDwtIHBhc3RlMChQTUlEXzMwNDA2NDAwJGpvdXJuYWwsJyAnLCBQTUlEXzMwNDA2NDAwJHllYXIsICcgJywgUE1JRF8zMDQwNjQwMCRtb250aCwnOycsIFBNSURfMzA0MDY0MDAkdm9sdW1lLCcoJywgUE1JRF8zMDQwNjQwMCRudW1iZXIsJyk6JywgUE1JRF8zMDQwNjQwMCRwYWdlcykKClB1Yk1lZF8zMDQwNjQwMCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDA2NDAwJGVwcmludCkKCmRvaV8zMDQwNjQwMCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDA2NDAwJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDA2NDAwIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDA2NDAwJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0MDY0MDAgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0MDY0MDAkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDA2NDAwIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0MDY0MDAkdGl0bGUgLCAiIFBNSUQ6IDMwNDA2NDAwICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQwNjQwMCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDA2NDAwYCoKCmByIFB1Yk1lZF8zMDQwNjQwMGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDA2NDAwYAoKYHIgUE1JRF8zMDQwNjQwMCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDA2NDAwYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDA2NDAwYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0MDY0MDBgCgo8L2RldGFpbHM+CgotLS0KCi0gKipDYXZlb2xpbi0xIE1vZHVsYXRlcyBNZWNoYW5vdHJhbnNkdWN0aW9uIFJlc3BvbnNlcyB0byBTdWJzdHJhdGUgU3RpZmZuZXNzIHRocm91Z2ggQWN0aW4tRGVwZW5kZW50IENvbnRyb2wgb2YgWUFQKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzIyMTExMjQ3MTgzMTYwMDAKCi0tLQoKLSAqKkdlbmV0aWMgZGlzc2VjdGlvbiBvZiB0aGUgbWlSLTIwMOKAk1plYjEgYXhpcyByZXZlYWxzIGl0cyBpbXBvcnRhbmNlIGluIHR1bW9yIGRpZmZlcmVudGlhdGlvbiBhbmQgaW52YXNpb24qKgoKaHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE0NjctMDE4LTA3MTMwLXoKCi0tLQoKLSAqKlJpZ2lkaXR5IGNvbnRyb2xzIGh1bWFuIGRlc21vcGxhc3RpYyBtYXRyaXggYW5pc290cm9weSB0byBlbmFibGUgcGFuY3JlYXRpYyBjYW5jZXIgY2VsbCBzcHJlYWQgdmlhIGV4dHJhY2VsbHVsYXIgc2lnbmFsLXJlZ3VsYXRlZCBraW5hc2UgMioqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwOTQ1MDUzWDE4MzAyODQxCgoKLS0tCgotICoqRXBpZ2VuZXRpYyBUYXJnZXRpbmcgRE5NVDEgb2YgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEgdXNpbmcgaW50ZXJzdGl0aWFsIGNvbnRyb2wgcmVsZWFzZSBiaW9kZWdyYWRpbmcgcG9seW1lciByZWR1Y2VkIHR1bW9yIGdyb3d0aCB0aHJvdWdoIEhlZGdlaG9nIHBhdGh3YXkgaW5oaWJpdGlvbioqCgpodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxMDQzNjYxODE4MzA2OTQ3CgoKLS0tCgotICoqSUwtMS1pbmR1Y2VkICBKQUsvU1RBVCAgc2lnbmFsaW5nICBpcyAgYW50YWdvbml6ZWQgIGJ5ICBUR0Ytw58gIHRvICBzaGFwZSAgQ0FGICBoZXRlcm9nZW5laXR5ICBpbiBwYW5jcmVhdGljIGR1Y3RhbCBhZGVub2NhcmNpbm9tYSoqIAoKaHR0cDovL2NhbmNlcmRpc2NvdmVyeS5hYWNyam91cm5hbHMub3JnL2NvbnRlbnQvY2FuZGlzYy9lYXJseS8yMDE4LzEwLzI1LzIxNTktODI5MC5DRC0xOC0wNzEwLmZ1bGwucGRmCgotLS0KCi0gKipUaGVyYXBldXRpYyBwb3RlbnRpYWwgb2YgdGFyZ2V0aW5nIHRoZSBXbnQvzrLigJBjYXRlbmluIHBhdGh3YXkgaW4gdGhlIHRyZWF0bWVudCBvZiBwYW5jcmVhdGljIGNhbmNlcioqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTAwMi9qY2IuMjc4MzUKCgotLS0KCmBgYHtyIDMwNDExMjk3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQxMTI5NyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQxMTI5NycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQxMTI5NyA8LSBwYXN0ZTAoUE1JRF8zMDQxMTI5NyRqb3VybmFsLCcgJywgUE1JRF8zMDQxMTI5NyR5ZWFyLCAnICcsIFBNSURfMzA0MTEyOTckbW9udGgsJzsnLCBQTUlEXzMwNDExMjk3JHZvbHVtZSwnKCcsIFBNSURfMzA0MTEyOTckbnVtYmVyLCcpOicsIFBNSURfMzA0MTEyOTckcGFnZXMpCgpQdWJNZWRfMzA0MTEyOTcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQxMTI5NyRlcHJpbnQpCgpkb2lfMzA0MTEyOTcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQxMTI5NyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQxMTI5NyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQxMTI5NyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDExMjk3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDExMjk3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQxMTI5NyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDExMjk3JHRpdGxlICwgIiBQTUlEOiAzMDQxMTI5NyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0MTEyOTckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQxMTI5N2AqCgpgciBQdWJNZWRfMzA0MTEyOTdgCgpgciBhZGR0aGlzX2lubGluZV8zMDQxMTI5N2AKCmByIFBNSURfMzA0MTEyOTckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQxMTI5N2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQxMTI5N2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDExMjk3YAoKPC9kZXRhaWxzPgoKLS0tCgpQSU4xIG1haW50YWlucyByZWRveCBiYWxhbmNlIHZpYSB0aGUgYy1NeWMvTlJGMiBheGlzIHRvIGNvdW50ZXJhY3QgS3Jhcy1pbmR1Y2VkIG1pdG9jaG9uZHJpYWwgcmVzcGlyYXRvcnkgaW5qdXJ5IGluIHBhbmNyZWF0aWMgY2FuY2VyIGNlbGxzCgoKaHR0cDovL2NhbmNlcnJlcy5hYWNyam91cm5hbHMub3JnL2NvbnRlbnQvY2FucmVzL2Vhcmx5LzIwMTgvMTAvMjQvMDAwOC01NDcyLkNBTi0xOC0xOTY4LmZ1bGwucGRmCgoKLS0tCgpEaXNydXB0aW9uIG9mIHN0cm9tYWwgaGVkZ2Vob2cgc2lnbmFsaW5nIGluaXRpYXRlcyBSTkY1LW1lZGlhdGVkIHByb3RlYXNvbWFsIGRlZ3JhZGF0aW9uIG9mIFBURU4gYW5kIGFjY2VsZXJhdGVzIHBhbmNyZWF0aWMgdHVtb3IgZ3Jvd3RoCgoKaHR0cDovL3d3dy5saWZlLXNjaWVuY2UtYWxsaWFuY2Uub3JnL2NvbnRlbnQvMS81L2UyMDE4MDAxOTAKCgotLS0KCgpTdWJjdXRhbmVvdXMgSW5vY3VsYXRpb24gb2YgM0QgUGFuY3JlYXRpYyBDYW5jZXIgU3BoZXJvaWRzIFJlc3VsdHMgaW4gRGV2ZWxvcG1lbnQgb2YgUmVwcm9kdWNpYmxlIFN0cm9tYS1SaWNoIFR1bW9ycwoKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzE5MzY1MjMzMTgzMDQxMjEKCgotLS0KCgotICoqUHJvc3BlY3RpdmUgRXZhbHVhdGlvbiBvZiBHZXJtbGluZSBBbHRlcmF0aW9ucyBpbiBQYXRpZW50cyBXaXRoIEV4b2NyaW5lIFBhbmNyZWF0aWMgTmVvcGxhc21zKioKICAgIApodHRwczovL2FjYWRlbWljLm91cC5jb20vam5jaS9hcnRpY2xlLWFic3RyYWN0LzExMC8xMC8xMDY3LzQ5MTU0MDE/cmVkaXJlY3RlZEZyb209ZnVsbHRleHQKCi0tLQoKLSAqKk1pY3JvUk5BIHRoZXJhcGV1dGljczogZGVzaWduIG9mIHNpbmdsZS1zdHJhbmRlZCBtaVItMjE2YiBtaW1pY3MgdG8gdGFyZ2V0IEtSQVMgaW4gcGFuY3JlYXRpYyBjYW5jZXIgY2VsbHMqKgogICAgCmh0dHBzOi8vd3d3LnRhbmRmb25saW5lLmNvbS9kb2kvZnVsbC8xMC4xMDgwLzE1NDc2Mjg2LjIwMTguMTUyNjUzNgoKCgotLS0KCi0gKipSZWZlcnJhbCBmcmVxdWVuY3ksIGF0dHJpdGlvbiByYXRlLCBhbmQgb3V0Y29tZXMgb2YgZ2VybWxpbmUgdGVzdGluZyBpbiBwYXRpZW50cyB3aXRoIHBhbmNyZWF0aWMgYWRlbm9jYXJjaW5vbWEqKgogICAgCiAgICAKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczEwNjg5LTAxOC0wMTA2LTIKCgotLS0KICAgIAogICAgCi0gKipNZXRhc3Rhc2lzIGFuZCBjaGVtb3Jlc2lzdGFuY2UgaW4gQ0QxMzMgZXhwcmVzc2luZyBwYW5jcmVhdGljIGNhbmNlciBjZWxscyBhcmUgZGVwZW5kZW50IG9uIHRoZWlyIGxpcGlkIHJhZnQgaW50ZWdyaXR5KioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMzA0MzgzNTE4MzA1OTQ5CgotLS0KCi0gKipSZXNwb25zZSBvZiBnZXJtbGluZSBCUkNBMi1tdXRhdGVkIGFkdmFuY2VkIHBhbmNyZWF0aWMgYWNpbmFyIGNlbGwgY2FyY2lub21hIHRvIG9sYXBhcmliKioKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9tZC1qb3VybmFsL0Z1bGx0ZXh0LzIwMTgvMTEwOTAvUmVzcG9uc2Vfb2ZfZ2VybWxpbmVfQlJDQTJfbXV0YXRlZF9hZHZhbmNlZC40OC5hc3B4CgotLS0KCi0gKipUYXJnZXRpbmcgUHVyaW5lcmdpYyBSZWNlcHRvciBQMlkyIHByZXZlbnRzIHRoZSBncm93dGggb2YgcGFuY3JlYXRpYyBkdWN0YWwgYWRlbm9jYXJjaW5vbWEgYnkgaW5oaWJpdGluZyBjYW5jZXIgY2VsbCBnbHljb2x5c2lzKioKCmh0dHA6Ly9jbGluY2FuY2VycmVzLmFhY3Jqb3VybmFscy5vcmcvY29udGVudC9lYXJseS8yMDE4LzExLzEwLzEwNzgtMDQzMi5DQ1ItMTgtMjI5Nz9wYXBldG9jPQoKLS0tCgotICoqU1JDLTMgSW5oaWJpdGlvbiBCbG9ja3MgVHVtb3IgR3Jvd3RoIG9mIFBhbmNyZWF0aWMgRHVjdGFsIEFkZW5vY2FyY2lub21hKioKCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAzMDQzODM1MTgzMDY3NjEKCgoKLS0tCgpgYGB7ciAyNzkzNjM0NSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMjc5MzYzNDUgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjc5MzYzNDUnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjc5MzYzNDUgPC0gcGFzdGUwKFBNSURfMjc5MzYzNDUkam91cm5hbCwnICcsIFBNSURfMjc5MzYzNDUkeWVhciwgJyAnLCBQTUlEXzI3OTM2MzQ1JG1vbnRoLCc7JywgUE1JRF8yNzkzNjM0NSR2b2x1bWUsJygnLCBQTUlEXzI3OTM2MzQ1JG51bWJlciwnKTonLCBQTUlEXzI3OTM2MzQ1JHBhZ2VzKQoKUHViTWVkXzI3OTM2MzQ1IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjc5MzYzNDUkZXByaW50KQoKZG9pXzI3OTM2MzQ1IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjc5MzYzNDUkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjc5MzYzNDUgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjc5MzYzNDUkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yNzkzNjM0NSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yNzkzNjM0NSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjc5MzYzNDUgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yNzkzNjM0NSR0aXRsZSAsICIgUE1JRDogMjc5MzYzNDUgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI3OTM2MzQ1JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjc5MzYzNDVgKgoKYHIgUHViTWVkXzI3OTM2MzQ1YAoKYHIgYWRkdGhpc19pbmxpbmVfMjc5MzYzNDVgCgpgciBQTUlEXzI3OTM2MzQ1JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjc5MzYzNDVgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjc5MzYzNDVgCgpgciBhbHRtZXRyaWNCYWRnZV8yNzkzNjM0NWAKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDMwMTk3NDc3LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDE5NzQ3NyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDE5NzQ3NycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDE5NzQ3NyA8LSBwYXN0ZTAoUE1JRF8zMDE5NzQ3NyRqb3VybmFsLCcgJywgUE1JRF8zMDE5NzQ3NyR5ZWFyLCAnICcsIFBNSURfMzAxOTc0NzckbW9udGgsJzsnLCBQTUlEXzMwMTk3NDc3JHZvbHVtZSwnKCcsIFBNSURfMzAxOTc0NzckbnVtYmVyLCcpOicsIFBNSURfMzAxOTc0NzckcGFnZXMpCgpQdWJNZWRfMzAxOTc0NzcgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDE5NzQ3NyRlcHJpbnQpCgpkb2lfMzAxOTc0NzcgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDE5NzQ3NyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDE5NzQ3NyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDE5NzQ3NyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMTk3NDc3IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMTk3NDc3JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDE5NzQ3NyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMTk3NDc3JHRpdGxlICwgIiBQTUlEOiAzMDE5NzQ3NyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAxOTc0NzckdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDE5NzQ3N2AqCgpgciBQdWJNZWRfMzAxOTc0NzdgCgpgciBhZGR0aGlzX2lubGluZV8zMDE5NzQ3N2AKCmByIFBNSURfMzAxOTc0NzckYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDE5NzQ3N2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDE5NzQ3N2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwMTk3NDc3YAoKPC9kZXRhaWxzPgoKLS0tCgpgYGB7ciAzMDQxNjA0MSwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0MTYwNDEgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0MTYwNDEnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0MTYwNDEgPC0gcGFzdGUwKFBNSURfMzA0MTYwNDEkam91cm5hbCwnICcsIFBNSURfMzA0MTYwNDEkeWVhciwgJyAnLCBQTUlEXzMwNDE2MDQxJG1vbnRoLCc7JywgUE1JRF8zMDQxNjA0MSR2b2x1bWUsJygnLCBQTUlEXzMwNDE2MDQxJG51bWJlciwnKTonLCBQTUlEXzMwNDE2MDQxJHBhZ2VzKQoKUHViTWVkXzMwNDE2MDQxIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0MTYwNDEkZXByaW50KQoKZG9pXzMwNDE2MDQxIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0MTYwNDEkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0MTYwNDEgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0MTYwNDEkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQxNjA0MSA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQxNjA0MSRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0MTYwNDEgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQxNjA0MSR0aXRsZSAsICIgUE1JRDogMzA0MTYwNDEgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDE2MDQxJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0MTYwNDFgKgoKYHIgUHViTWVkXzMwNDE2MDQxYAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0MTYwNDFgCgpgciBQTUlEXzMwNDE2MDQxJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0MTYwNDFgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0MTYwNDFgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQxNjA0MWAKCjwvZGV0YWlscz4KCi0tLQoKLSAqKkgxOSBsb25nIG5vbi1jb2RpbmcgUk5BIGNvbnRyaWJ1dGVzIHRvIHNwaGVyZSBmb3JtYXRpb24gYW5kIGludmFzaW9uIHRocm91Z2ggcmVndWxhdGlvbiBvZiBDRDI0IGFuZCBpbnRlZ3JpbiBleHByZXNzaW9uIGluIHBhbmNyZWF0aWMgY2FuY2VyIGNlbGxzKioKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcG1jL2FydGljbGVzL1BNQzYyMDUxNzcvCgotLS0KCi0gKipJbXBhY3Qgb2YgRXRobmljaXR5IG9uIFNvbWF0aWMgTXV0YXRpb24gUmF0ZXMgb2YgUGFuY3JlYXRpYyBBZGVub2NhcmNpbm9tYSoqCiAgICAKaHR0cDovL2l2LmlpYXJqb3VybmFscy5vcmcvY29udGVudC8zMi82LzE1MjcuZnVsbAoKCi0tLQoKYGBge3IgMzA0MTA0MjIsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDEwNDIyIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDEwNDIyJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDEwNDIyIDwtIHBhc3RlMChQTUlEXzMwNDEwNDIyJGpvdXJuYWwsJyAnLCBQTUlEXzMwNDEwNDIyJHllYXIsICcgJywgUE1JRF8zMDQxMDQyMiRtb250aCwnOycsIFBNSURfMzA0MTA0MjIkdm9sdW1lLCcoJywgUE1JRF8zMDQxMDQyMiRudW1iZXIsJyk6JywgUE1JRF8zMDQxMDQyMiRwYWdlcykKClB1Yk1lZF8zMDQxMDQyMiA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDEwNDIyJGVwcmludCkKCmRvaV8zMDQxMDQyMiA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDEwNDIyJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDEwNDIyIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDEwNDIyJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0MTA0MjIgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0MTA0MjIkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDEwNDIyIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0MTA0MjIkdGl0bGUgLCAiIFBNSUQ6IDMwNDEwNDIyICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQxMDQyMiR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDEwNDIyYCoKCmByIFB1Yk1lZF8zMDQxMDQyMmAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDEwNDIyYAoKYHIgUE1JRF8zMDQxMDQyMiRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDEwNDIyYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDEwNDIyYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0MTA0MjJgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwNDI4ODk5LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQyODg5OSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQyODg5OScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQyODg5OSA8LSBwYXN0ZTAoUE1JRF8zMDQyODg5OSRqb3VybmFsLCcgJywgUE1JRF8zMDQyODg5OSR5ZWFyLCAnICcsIFBNSURfMzA0Mjg4OTkkbW9udGgsJzsnLCBQTUlEXzMwNDI4ODk5JHZvbHVtZSwnKCcsIFBNSURfMzA0Mjg4OTkkbnVtYmVyLCcpOicsIFBNSURfMzA0Mjg4OTkkcGFnZXMpCgpQdWJNZWRfMzA0Mjg4OTkgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQyODg5OSRlcHJpbnQpCgpkb2lfMzA0Mjg4OTkgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQyODg5OSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQyODg5OSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQyODg5OSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDI4ODk5IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDI4ODk5JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQyODg5OSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDI4ODk5JHRpdGxlICwgIiBQTUlEOiAzMDQyODg5OSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0Mjg4OTkkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQyODg5OWAqCgpgciBQdWJNZWRfMzA0Mjg4OTlgCgpgciBhZGR0aGlzX2lubGluZV8zMDQyODg5OWAKCmByIFBNSURfMzA0Mjg4OTkkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQyODg5OWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQyODg5OWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDI4ODk5YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqQ2hlbW9yZXNpc3RhbmNlIFRyYW5zbWlzc2lvbiB2aWEgRXhvc29tZS1NZWRpYXRlZCBFcGhBMiBUcmFuc2ZlciBpbiBQYW5jcmVhdGljIENhbmNlcioqCgpodHRwOi8vd3d3LnRobm8ub3JnL3YwOHA1OTg2LnBkZgoKCi0tLQoKICAgIAotKipTV0kvU05GIGNvbXBvbmVudCBBUklEMUEgcmVzdHJhaW5zIHBhbmNyZWF0aWMgbmVvcGxhc2lhIGZvcm1hdGlvbioqCiAgICAKaHR0cHM6Ly9ndXQuYm1qLmNvbS9jb250ZW50L2Vhcmx5LzIwMTgvMTAvMTIvZ3V0am5sLTIwMTctMzE1NDkwCgotLS0KCi0gKipTbWFsbCBtb2xlY3VsZSB0eXJvc2luZSBraW5hc2UgaW5oaWJpdG9ycyBhbmQgcGFuY3JlYXRpYyBjYW5jZXLigJRUcmlhbHMgYW5kIHRyb3VibGVzKioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxMDQ0NTc5WDE4MzAxMzQyCgoKLS0tCgotICoqSGlnaGVyIG5vdGNoIGV4cHJlc3Npb24gaW1wbGllcyBwb29yIHN1cnZpdmFsIGluIHBhbmNyZWF0aWMgZHVjdGFsIGFkZW5vY2FyY2lub21hOiBBIHN5c3RlbWF0aWMgcmV2aWV3IGFuZCBtZXRhLWFuYWx5c2lzKioKICAgIApodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxNDI0MzkwMzE4MzA2OTE0CgoKLS0tCgotICoqQ29tYmluYXRpb24gdHJlYXRtZW50IG9mIGFkdmFuY2VkIHBhbmNyZWF0aWMgY2FuY2VyIHVzaW5nIG5vdmVsIHZhY2NpbmUgYW5kIHRyYWRpdGlvbmFsIHRoZXJhcGllcyoqCiAgICAKaHR0cHM6Ly93d3cudGFuZGZvbmxpbmUuY29tL2RvaS9hYnMvMTAuMTA4MC8xNDczNzE0MC4yMDE4LjE1MzE3MDcKCi0tLQoKICAgIAotICoqR2x5Y2VtaWMgVmFyaWFiaWxpdHkgUHJvbW90ZXMgQm90aCBMb2NhbCBJbnZhc2lvbiBhbmQgTWV0YXN0YXRpYyBDb2xvbml6YXRpb24gYnkgUGFuY3JlYXRpYyBEdWN0YWwgQWRlbm9jYXJjaW5vbWEqKgogICAgCmh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHJvZmlsZS9Kb2VyZ19LbGVlZmYvcHVibGljYXRpb24vMzI2NjI4MDAwX0dseWNlbWljX1ZhcmlhYmlsaXR5X1Byb21vdGVzX0JvdGhfTG9jYWxfSW52YXNpb25fYW5kX01ldGFzdGF0aWNfQ29sb25pemF0aW9uX2J5X1BhbmNyZWF0aWNfRHVjdGFsX0FkZW5vY2FyY2lub21hL2xpbmtzLzViNzg0YmUxNDU4NTE1MWZkMTFmNzcxMy9HbHljZW1pYy1WYXJpYWJpbGl0eS1Qcm9tb3Rlcy1Cb3RoLUxvY2FsLUludmFzaW9uLWFuZC1NZXRhc3RhdGljLUNvbG9uaXphdGlvbi1ieS1QYW5jcmVhdGljLUR1Y3RhbC1BZGVub2NhcmNpbm9tYS5wZGYKCi0tLQoKICAgIAoKLSAqKkRZUksxQSBtb2R1bGF0ZXMgYy1NRVQgaW4gcGFuY3JlYXRpYyBkdWN0YWwgYWRlbm9jYXJjaW5vbWEgdG8gZHJpdmUgdHVtb3VyIGdyb3d0aCoqCiAgICAKaHR0cHM6Ly9ndXQuYm1qLmNvbS9jb250ZW50L2Vhcmx5LzIwMTgvMTAvMjAvZ3V0am5sLTIwMTgtMzE2MTI4CgotLS0KCi0gKipJZGVudGlmaWNhdGlvbiBvZiBodWIgZ2VuZXMgd2l0aCBkaWFnbm9zdGljIHZhbHVlcyBpbiBwYW5jcmVhdGljIGNhbmNlciBieSBiaW9pbmZvcm1hdGljcyBhbmFseXNlcyBhbmQgc3VwZXJ2aXNlZCBsZWFybmluZyBtZXRob2RzKioKCmh0dHBzOi8vd2pzby5iaW9tZWRjZW50cmFsLmNvbS9hcnRpY2xlcy8xMC4xMTg2L3MxMjk1Ny0wMTgtMTUxOS15CgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIFBhbmNyZWF0aXRpcyAmIE90aGVyIERpc2Vhc2VzCgpNb2xlY3VsYXIgU3R1ZGllcyBvbiBQYW5jcmVhdGl0aXMgJiBPdGhlciBEaXNlYXNlcwoKYGBge3IgTW9sZWN1bGFyIFN0dWRpZXMgb24gUGFuY3JlYXRpdGlzICYgT3RoZXIgRGlzZWFzZXMsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKCi0tLQoKCgotICoqVGhlIGNvbW1vbiB0cnVuY2F0aW9uIHZhcmlhbnQgaW4gcGFuY3JlYXRpYyBsaXBhc2UgcmVsYXRlZCBwcm90ZWluIDIgKFBOTElQUlAyKSBpcyBleHByZXNzZWQgcG9vcmx5IGFuZCBkb2VzIG5vdCBhbHRlciByaXNrIGZvciBjaHJvbmljIHBhbmNyZWF0aXRpcyoqCgpodHRwczovL2pvdXJuYWxzLnBsb3Mub3JnL3Bsb3NvbmUvYXJ0aWNsZT9pZD0xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjA2ODY5CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgotLS0KCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgojIyMjIE1vbGVjdWxhciBUZWNobmlxdWVzICYgUmVzZWFyY2ggTWV0aG9kcywgTGlxdWlkIEJpb3BzeQoKTW9sZWN1bGFyIFRlY2huaXF1ZXMgJiBSZXNlYXJjaCBNZXRob2RzLCBMaXF1aWQgQmlvcHN5CgpgYGB7ciBNb2xlY3VsYXIgVGVjaG5pcXVlcyAmIFJlc2VhcmNoIE1ldGhvZHMgTGlxdWlkIEJpb3BzeSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgotLS0KCi0gKipBREFNMTIgaXMgYSBjaXJjdWxhdGluZyBtYXJrZXIgZm9yIHN0cm9tYWwgYWN0aXZhdGlvbiBpbiBwYW5jcmVhdGljIGNhbmNlciBhbmQgcHJlZGljdHMgcmVzcG9uc2UgdG8gY2hlbW90aGVyYXB5KioKCmh0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxMzg5LTAxOC0wMDk2LTkKCi0tLQoKYGBge3IgMzAzOTQ4ODMsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzk0ODgzIDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzk0ODgzJywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzk0ODgzIDwtIHBhc3RlMChQTUlEXzMwMzk0ODgzJGpvdXJuYWwsJyAnLCBQTUlEXzMwMzk0ODgzJHllYXIsICcgJywgUE1JRF8zMDM5NDg4MyRtb250aCwnOycsIFBNSURfMzAzOTQ4ODMkdm9sdW1lLCcoJywgUE1JRF8zMDM5NDg4MyRudW1iZXIsJyk6JywgUE1JRF8zMDM5NDg4MyRwYWdlcykKClB1Yk1lZF8zMDM5NDg4MyA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzk0ODgzJGVwcmludCkKCmRvaV8zMDM5NDg4MyA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzk0ODgzJGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzk0ODgzIDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzk0ODgzJGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzOTQ4ODMgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzOTQ4ODMkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzk0ODgzIDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzOTQ4ODMkdGl0bGUgLCAiIFBNSUQ6IDMwMzk0ODgzICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM5NDg4MyR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzk0ODgzYCoKCmByIFB1Yk1lZF8zMDM5NDg4M2AKCmByIGFkZHRoaXNfaW5saW5lXzMwMzk0ODgzYAoKYHIgUE1JRF8zMDM5NDg4MyRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzk0ODgzYCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzk0ODgzYAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzOTQ4ODNgCgo8L2RldGFpbHM+CgotLS0KCi0gKipMaXF1aWQgYmlvcHN5LWJhc2VkIGJpb21hcmtlcnMgZm9yIGVhcmx5IGRldGVjdGlvbiBvZiBwYW5jcmVhdGljIGNhbmNlcioqCgpodHRwOi8vcGNtLmFtZWdyb3Vwcy5jb20vYXJ0aWNsZS92aWV3LzQ1ODgKCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIE1vbGVjdWxhciBSZXNlYXJjaCBvbiBNaWNyb2Vudmlyb25tZW50IAoKVHVtb3IgU3Ryb21hIEludGVyYWN0aW9ucywgTWljcm9lbnZpcm9ubWVudCwgSW5mbGFtbWF0b3J5IFJlc3BvbnNlLCBNaWNyb2Jpb21lCgpgYGB7ciBNb2xlY3VsYXIgVHVtb3IgU3Ryb21hIEludGVyYWN0aW9ucyBNaWNyb2Vudmlyb25tZW50IEluZmxhbW1hdG9yeSBSZXNwb25zZSBNaWNyb2Jpb21lLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCi0tLQoKLSAqKkVaSDItTWVkaWF0ZWQgbWljcm9STkEtMTM5LTVwIFJlZ3VsYXRlcyBFcGl0aGVsaWFsLU1lc2VuY2h5bWFsIFRyYW5zaXRpb24gYW5kIEx5bXBoIE5vZGUgTWV0YXN0YXNpcyBvZiBQYW5jcmVhdGljIENhbmNlcioqCiAgICAKaHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wbWMvYXJ0aWNsZXMvUE1DNjE4MjIyNC8KCgotLS0KCgogICAgCi0gKipUaGUgaW1wYWN0IG9mIGNhbmNlci1hc3NvY2lhdGVkIGZpYnJvYmxhc3RzIG9uIG1ham9yIGhhbGxtYXJrcyBvZiBwYW5jcmVhdGljIGNhbmNlcioqICAKICAgIApodHRwOi8vd3d3LnRobm8ub3JnL3YwOHA1MDcyLnBkZgoKLS0tCgotICoqSEgxLTEsIGEgbm92ZWwgR2FsZWN0aW4tMyBpbmhpYml0b3IsIGV4ZXJ0cyBhbnRpLXBhbmNyZWF0aWMgY2FuY2VyIGFjdGl2aXR5IGJ5IGJsb2NraW5nIEdhbGVjdGluLTMvRUdGUi9BS1QvRk9YTzMgc2lnbmFsaW5nIHBhdGh3YXkqKgogICAgCmh0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAxNDQ4NjE3MTgzMTE4NDYKCi0tLQogICAgCi0gKipLUkFTIFJFTkFJU1NBTkNFKFMpIGluIFR1bW9yIEluZmlsdHJhdGluZyBCIENlbGxzIGluIFBhbmNyZWF0aWMgQ2FuY2VyKioKICAgIApodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3BtYy9hcnRpY2xlcy9QTUM2MTU2MzY1LwogICAgCgoKLS0tCgpgYGB7ciAzMDQyMDQ0NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0MjA0NDYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0MjA0NDYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0MjA0NDYgPC0gcGFzdGUwKFBNSURfMzA0MjA0NDYkam91cm5hbCwnICcsIFBNSURfMzA0MjA0NDYkeWVhciwgJyAnLCBQTUlEXzMwNDIwNDQ2JG1vbnRoLCc7JywgUE1JRF8zMDQyMDQ0NiR2b2x1bWUsJygnLCBQTUlEXzMwNDIwNDQ2JG51bWJlciwnKTonLCBQTUlEXzMwNDIwNDQ2JHBhZ2VzKQoKUHViTWVkXzMwNDIwNDQ2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0MjA0NDYkZXByaW50KQoKZG9pXzMwNDIwNDQ2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0MjA0NDYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0MjA0NDYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0MjA0NDYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQyMDQ0NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQyMDQ0NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0MjA0NDYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQyMDQ0NiR0aXRsZSAsICIgUE1JRDogMzA0MjA0NDYgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDIwNDQ2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0MjA0NDZgKgoKYHIgUHViTWVkXzMwNDIwNDQ2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0MjA0NDZgCgpgciBQTUlEXzMwNDIwNDQ2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0MjA0NDZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0MjA0NDZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQyMDQ0NmAKCjwvZGV0YWlscz4KCgoKLS0tCgpgYGB7ciAzMDM5MjQxNywgaW5jbHVkZT1GQUxTRX0KClBNSURfMzAzOTI0MTcgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzAzOTI0MTcnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzAzOTI0MTcgPC0gcGFzdGUwKFBNSURfMzAzOTI0MTckam91cm5hbCwnICcsIFBNSURfMzAzOTI0MTckeWVhciwgJyAnLCBQTUlEXzMwMzkyNDE3JG1vbnRoLCc7JywgUE1JRF8zMDM5MjQxNyR2b2x1bWUsJygnLCBQTUlEXzMwMzkyNDE3JG51bWJlciwnKTonLCBQTUlEXzMwMzkyNDE3JHBhZ2VzKQoKUHViTWVkXzMwMzkyNDE3IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzAzOTI0MTckZXByaW50KQoKZG9pXzMwMzkyNDE3IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzAzOTI0MTckZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzAzOTI0MTcgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzAzOTI0MTckZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDM5MjQxNyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDM5MjQxNyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzAzOTI0MTcgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDM5MjQxNyR0aXRsZSAsICIgUE1JRDogMzAzOTI0MTcgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwMzkyNDE3JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzAzOTI0MTdgKgoKYHIgUHViTWVkXzMwMzkyNDE3YAoKYHIgYWRkdGhpc19pbmxpbmVfMzAzOTI0MTdgCgpgciBQTUlEXzMwMzkyNDE3JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzAzOTI0MTdgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzAzOTI0MTdgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDM5MjQxN2AKCjwvZGV0YWlscz4KCgoKCi0tLQoKYGBge3IgMzAzOTMwMDksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwMzkzMDA5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwMzkzMDA5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwMzkzMDA5IDwtIHBhc3RlMChQTUlEXzMwMzkzMDA5JGpvdXJuYWwsJyAnLCBQTUlEXzMwMzkzMDA5JHllYXIsICcgJywgUE1JRF8zMDM5MzAwOSRtb250aCwnOycsIFBNSURfMzAzOTMwMDkkdm9sdW1lLCcoJywgUE1JRF8zMDM5MzAwOSRudW1iZXIsJyk6JywgUE1JRF8zMDM5MzAwOSRwYWdlcykKClB1Yk1lZF8zMDM5MzAwOSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwMzkzMDA5JGVwcmludCkKCmRvaV8zMDM5MzAwOSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwMzkzMDA5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwMzkzMDA5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwMzkzMDA5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzAzOTMwMDkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzAzOTMwMDkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwMzkzMDA5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzAzOTMwMDkkdGl0bGUgLCAiIFBNSUQ6IDMwMzkzMDA5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDM5MzAwOSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwMzkzMDA5YCoKCmByIFB1Yk1lZF8zMDM5MzAwOWAKCmByIGFkZHRoaXNfaW5saW5lXzMwMzkzMDA5YAoKYHIgUE1JRF8zMDM5MzAwOSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwMzkzMDA5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwMzkzMDA5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzAzOTMwMDlgCgo8L2RldGFpbHM+CgoKLS0tCgpgYGB7ciAyOTA5MjkwMywgaW5jbHVkZT1GQUxTRX0KClBNSURfMjkwOTI5MDMgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMjkwOTI5MDMnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMjkwOTI5MDMgPC0gcGFzdGUwKFBNSURfMjkwOTI5MDMkam91cm5hbCwnICcsIFBNSURfMjkwOTI5MDMkeWVhciwgJyAnLCBQTUlEXzI5MDkyOTAzJG1vbnRoLCc7JywgUE1JRF8yOTA5MjkwMyR2b2x1bWUsJygnLCBQTUlEXzI5MDkyOTAzJG51bWJlciwnKTonLCBQTUlEXzI5MDkyOTAzJHBhZ2VzKQoKUHViTWVkXzI5MDkyOTAzIDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMjkwOTI5MDMkZXByaW50KQoKZG9pXzI5MDkyOTAzIDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMjkwOTI5MDMkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMjkwOTI5MDMgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMjkwOTI5MDMkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8yOTA5MjkwMyA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8yOTA5MjkwMyRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMjkwOTI5MDMgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8yOTA5MjkwMyR0aXRsZSAsICIgUE1JRDogMjkwOTI5MDMgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzI5MDkyOTAzJHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMjkwOTI5MDNgKgoKYHIgUHViTWVkXzI5MDkyOTAzYAoKYHIgYWRkdGhpc19pbmxpbmVfMjkwOTI5MDNgCgpgciBQTUlEXzI5MDkyOTAzJGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMjkwOTI5MDNgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMjkwOTI5MDNgCgpgciBhbHRtZXRyaWNCYWRnZV8yOTA5MjkwM2AKCjwvZGV0YWlscz4KCgotLS0KCmBgYHtyIDI5OTU2ODE0LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8yOTk1NjgxNCA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCcyOTk1NjgxNCcsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8yOTk1NjgxNCA8LSBwYXN0ZTAoUE1JRF8yOTk1NjgxNCRqb3VybmFsLCcgJywgUE1JRF8yOTk1NjgxNCR5ZWFyLCAnICcsIFBNSURfMjk5NTY4MTQkbW9udGgsJzsnLCBQTUlEXzI5OTU2ODE0JHZvbHVtZSwnKCcsIFBNSURfMjk5NTY4MTQkbnVtYmVyLCcpOicsIFBNSURfMjk5NTY4MTQkcGFnZXMpCgpQdWJNZWRfMjk5NTY4MTQgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8yOTk1NjgxNCRlcHJpbnQpCgpkb2lfMjk5NTY4MTQgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8yOTk1NjgxNCRkb2kpCgpkaW1lbnNpb25CYWRnZV8yOTk1NjgxNCA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8yOTk1NjgxNCRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzI5OTU2ODE0IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzI5OTU2ODE0JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8yOTk1NjgxNCA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzI5OTU2ODE0JHRpdGxlICwgIiBQTUlEOiAyOTk1NjgxNCAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMjk5NTY4MTQkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8yOTk1NjgxNGAqCgpgciBQdWJNZWRfMjk5NTY4MTRgCgpgciBhZGR0aGlzX2lubGluZV8yOTk1NjgxNGAKCmByIFBNSURfMjk5NTY4MTQkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8yOTk1NjgxNGAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8yOTk1NjgxNGAKCmByIGFsdG1ldHJpY0JhZGdlXzI5OTU2ODE0YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqU3Ryb21hbCBwcm90ZWluIM6yaWctaDMgcmVwcm9ncmFtbWVzIHR1bW91ciBtaWNyb2Vudmlyb25tZW50IGluIHBhbmNyZWF0aWMgY2FuY2VyKioKCmh0dHBzOi8vZ3V0LmJtai5jb20vY29udGVudC9lYXJseS8yMDE4LzExLzEwL2d1dGpubC0yMDE4LTMxNzU3MAoKCi0tLQoKCi0gKipGcm9tIEZyaWVuZCB0byBFbmVteTogRGlzc2VjdGluZyB0aGUgRnVuY3Rpb25hbCBBbHRlcmF0aW9uIG9mIEltbXVub3JlZ3VsYXRvcnkgQ29tcG9uZW50cyBkdXJpbmcgUGFuY3JlYXRpYyBUdW1vcmlnZW5lc2lzKioKCmh0dHBzOi8vd3d3Lm1kcGkuY29tLzE0MjItMDA2Ny8xOS8xMS8zNTg0CgoKCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIyMgUHJlbmVvcGxhc3RpYyBhbmQgUHJlaW52YXNpdmUgTGVzaW9ucyAKCk1vbGVjdWxhciBQYXRob2xvZ3kgUHJlbmVvcGxhc3RpYyBhbmQgUHJlaW52YXNpdmUgTGVzaW9ucywgUGFuSU4sIElQTU4sIE1DTiwgSUNQTgoKYGBge3IgTW9sZWN1bGFyIFBhbmNyZWFzIFByZW5lb3BsYXN0aWMgYW5kIFByZWludmFzaXZlIExlc2lvbnMgSVBNTiwgTUNOLCBJVFBOLCAgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgotLS0KCi0gKipTaW5nbGXigJBjZWxsIHNlcXVlbmNpbmcgZGVmaW5lcyBnZW5ldGljIGhldGVyb2dlbmVpdHkgaW4gcGFuY3JlYXRpYyBjYW5jZXIgcHJlY3Vyc29yIGxlc2lvbnMqKgoKaHR0cHM6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS9kb2kvYWJzLzEwLjEwMDIvcGF0aC41MTk0CgoKCi0tLQoKYGBge3IgMzA0MzA1NzgsIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDMwNTc4IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDMwNTc4JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDMwNTc4IDwtIHBhc3RlMChQTUlEXzMwNDMwNTc4JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDMwNTc4JHllYXIsICcgJywgUE1JRF8zMDQzMDU3OCRtb250aCwnOycsIFBNSURfMzA0MzA1Nzgkdm9sdW1lLCcoJywgUE1JRF8zMDQzMDU3OCRudW1iZXIsJyk6JywgUE1JRF8zMDQzMDU3OCRwYWdlcykKClB1Yk1lZF8zMDQzMDU3OCA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDMwNTc4JGVwcmludCkKCmRvaV8zMDQzMDU3OCA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDMwNTc4JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDMwNTc4IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDMwNTc4JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0MzA1NzggPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0MzA1NzgkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDMwNTc4IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0MzA1NzgkdGl0bGUgLCAiIFBNSUQ6IDMwNDMwNTc4ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQzMDU3OCR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDMwNTc4YCoKCmByIFB1Yk1lZF8zMDQzMDU3OGAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDMwNTc4YAoKYHIgUE1JRF8zMDQzMDU3OCRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDMwNTc4YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDMwNTc4YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0MzA1NzhgCgo8L2RldGFpbHM+CgotLS0KCmBgYHtyIDMwMzg1NjUzLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDM4NTY1MyA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDM4NTY1MycsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDM4NTY1MyA8LSBwYXN0ZTAoUE1JRF8zMDM4NTY1MyRqb3VybmFsLCcgJywgUE1JRF8zMDM4NTY1MyR5ZWFyLCAnICcsIFBNSURfMzAzODU2NTMkbW9udGgsJzsnLCBQTUlEXzMwMzg1NjUzJHZvbHVtZSwnKCcsIFBNSURfMzAzODU2NTMkbnVtYmVyLCcpOicsIFBNSURfMzAzODU2NTMkcGFnZXMpCgpQdWJNZWRfMzAzODU2NTMgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDM4NTY1MyRlcHJpbnQpCgpkb2lfMzAzODU2NTMgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDM4NTY1MyRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDM4NTY1MyA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDM4NTY1MyRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzg1NjUzIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzg1NjUzJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDM4NTY1MyA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzg1NjUzJHRpdGxlICwgIiBQTUlEOiAzMDM4NTY1MyAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzODU2NTMkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDM4NTY1M2AqCgpgciBQdWJNZWRfMzAzODU2NTNgCgpgciBhZGR0aGlzX2lubGluZV8zMDM4NTY1M2AKCmByIFBNSURfMzAzODU2NTMkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDM4NTY1M2AgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDM4NTY1M2AKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzg1NjUzYAoKPC9kZXRhaWxzPgoKCi0tLQoKLSAqKlNpbmdsZeKAkGNlbGwgc2VxdWVuY2luZyBkZWZpbmVzIGdlbmV0aWMgaGV0ZXJvZ2VuZWl0eSBpbiBwYW5jcmVhdGljIGNhbmNlciBwcmVjdXJzb3IgbGVzaW9ucyoqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTAwMi9wYXRoLjUxOTQ/YWY9UiYKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMjIFNQTgoKU29saWQgUHNldWRvcGFwaWxsYXJ5IE5lb3BsYXNtCgpgYGB7ciBNIFNQTiBTb2xpZCBQc2V1ZG9wYXBpbGxhcnkgTmVvcGxhc20sIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKLS0tCgotICoqTW9sZWN1bGFyIGFsdGVyYXRpb25zIGFzc29jaWF0ZWQgd2l0aCBtZXRhc3Rhc2VzIG9mIHNvbGlkIHBzZXVkb3BhcGlsbGFyeSBuZW9wbGFzbXMgb2YgdGhlIHBhbmNyZWFzKioKICAgIAogICAgCmh0dHBzOi8vb25saW5lbGlicmFyeS53aWxleS5jb20vZG9pL2Ficy8xMC4xMDAyL3BhdGguNTE4MAoKCgotLS0KCmBgYHtyIDMwMzA2NTYxLCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDMwNjU2MSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDMwNjU2MScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDMwNjU2MSA8LSBwYXN0ZTAoUE1JRF8zMDMwNjU2MSRqb3VybmFsLCcgJywgUE1JRF8zMDMwNjU2MSR5ZWFyLCAnICcsIFBNSURfMzAzMDY1NjEkbW9udGgsJzsnLCBQTUlEXzMwMzA2NTYxJHZvbHVtZSwnKCcsIFBNSURfMzAzMDY1NjEkbnVtYmVyLCcpOicsIFBNSURfMzAzMDY1NjEkcGFnZXMpCgpQdWJNZWRfMzAzMDY1NjEgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDMwNjU2MSRlcHJpbnQpCgpkb2lfMzAzMDY1NjEgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDMwNjU2MSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDMwNjU2MSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDMwNjU2MSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMzA2NTYxIDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMzA2NTYxJGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDMwNjU2MSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMzA2NTYxJHRpdGxlICwgIiBQTUlEOiAzMDMwNjU2MSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAzMDY1NjEkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDMwNjU2MWAqCgpgciBQdWJNZWRfMzAzMDY1NjFgCgpgciBhZGR0aGlzX2lubGluZV8zMDMwNjU2MWAKCmByIFBNSURfMzAzMDY1NjEkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDMwNjU2MWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDMwNjU2MWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMzA2NTYxYAoKPC9kZXRhaWxzPgoKLS0tCgoKCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyMgQmlsZSBEdWN0cwoKYGBge3IgTSBCaWxlIER1Y3RzLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpgYGAKCgotLS0KCi0gKipSZWN1cnJlbnQgTXV0YXRpb25zIGluIEFQQyBhbmQgQ1ROTkIxIGFuZCBBY3RpdmF0ZWQgV250L86yLWNhdGVuaW4gU2lnbmFsaW5nIGluIEludHJhZHVjdGFsIFBhcGlsbGFyeSBOZW9wbGFzbXMgb2YgdGhlIEJpbGUgRHVjdCBBIFdob2xlIEV4b21lIFNlcXVlbmNpbmcgU3R1ZHkqKgoKCmh0dHBzOi8vam91cm5hbHMubHd3LmNvbS9hanNwL0Fic3RyYWN0LzIwMTgvMTIwMDAvUmVjdXJyZW50X011dGF0aW9uc19pbl9BUENfYW5kX0NUTk5CMV9hbmQuMTEuYXNweAoKCgotLS0KCmBgYHtyIDMwNDA0NzM1LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQwNDczNSA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQwNDczNScsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQwNDczNSA8LSBwYXN0ZTAoUE1JRF8zMDQwNDczNSRqb3VybmFsLCcgJywgUE1JRF8zMDQwNDczNSR5ZWFyLCAnICcsIFBNSURfMzA0MDQ3MzUkbW9udGgsJzsnLCBQTUlEXzMwNDA0NzM1JHZvbHVtZSwnKCcsIFBNSURfMzA0MDQ3MzUkbnVtYmVyLCcpOicsIFBNSURfMzA0MDQ3MzUkcGFnZXMpCgpQdWJNZWRfMzA0MDQ3MzUgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQwNDczNSRlcHJpbnQpCgpkb2lfMzA0MDQ3MzUgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQwNDczNSRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQwNDczNSA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQwNDczNSRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDA0NzM1IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDA0NzM1JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQwNDczNSA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDA0NzM1JHRpdGxlICwgIiBQTUlEOiAzMDQwNDczNSAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0MDQ3MzUkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQwNDczNWAqCgpgciBQdWJNZWRfMzA0MDQ3MzVgCgpgciBhZGR0aGlzX2lubGluZV8zMDQwNDczNWAKCmByIFBNSURfMzA0MDQ3MzUkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQwNDczNWAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQwNDczNWAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDA0NzM1YAoKPC9kZXRhaWxzPgoKCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCgojIyMgR2FsbGJsYWRkZXIKCmBgYHtyIE0gR2FsbGJsYWRkZXIsIGV2YWw9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmBgYAoKLS0tCgotICoqUmVnaW9uYWwgZGlmZmVyZW5jZXMgaW4gZ2FsbGJsYWRkZXIgY2FuY2VyIHBhdGhvZ2VuZXNpczogSW5zaWdodHMgZnJvbSBhIG11bHRp4oCQaW5zdGl0dXRpb25hbCBjb21wYXJpc29uIG9mIHR1bW9yIG11dGF0aW9ucyoqCgpodHRwczovL29ubGluZWxpYnJhcnkud2lsZXkuY29tL2RvaS9hYnMvMTAuMTAwMi9jbmNyLjMxODUwCgoKCi0tLQoKYGBge3IgMzA0Mjc1MzksIGluY2x1ZGU9RkFMU0V9CgpQTUlEXzMwNDI3NTM5IDwtIFJlZk1hbmFnZVI6OlJlYWRQdWJNZWQoJzMwNDI3NTM5JywgZGF0YWJhc2UgPSAnUHViTWVkJykKCmNpdGF0aW9uXzMwNDI3NTM5IDwtIHBhc3RlMChQTUlEXzMwNDI3NTM5JGpvdXJuYWwsJyAnLCBQTUlEXzMwNDI3NTM5JHllYXIsICcgJywgUE1JRF8zMDQyNzUzOSRtb250aCwnOycsIFBNSURfMzA0Mjc1Mzkkdm9sdW1lLCcoJywgUE1JRF8zMDQyNzUzOSRudW1iZXIsJyk6JywgUE1JRF8zMDQyNzUzOSRwYWdlcykKClB1Yk1lZF8zMDQyNzUzOSA8LSBwYXN0ZTAoUHViTWVkU3RyaW5nLCBQTUlEXzMwNDI3NTM5JGVwcmludCkKCmRvaV8zMDQyNzUzOSA8LSBwYXN0ZTAoZG9pU3RyaW5nLCBQTUlEXzMwNDI3NTM5JGRvaSkKCmRpbWVuc2lvbkJhZGdlXzMwNDI3NTM5IDwtIHBhc3RlMChkaW1lbnNpb25TdHJpbmcxLCBQTUlEXzMwNDI3NTM5JGRvaSxkaW1lbnNpb25TdHJpbmcyKQoKYWx0bWV0cmljQmFkZ2VfMzA0Mjc1MzkgPC0gcGFzdGUwKGFsdG1ldHJpY1N0cmluZzEsIFBNSURfMzA0Mjc1MzkkZG9pLCBhbHRtZXRyaWNTdHJpbmcyICkKCmFkZHRoaXNfaW5saW5lXzMwNDI3NTM5IDwtIHBhc3RlMChhZGR0aGlzX1N0cmluZzEsIFBNSURfMzA0Mjc1MzkkdGl0bGUgLCAiIFBNSUQ6IDMwNDI3NTM5ICIgLCBhZGR0aGlzX1N0cmluZzIpCgpgYGAKCjxkZXRhaWxzIG9wZW4+IDxzdW1tYXJ5PgotICoqYHIgUE1JRF8zMDQyNzUzOSR0aXRsZWAqKgo8L3N1bW1hcnk+IAoKKmByIGNpdGF0aW9uXzMwNDI3NTM5YCoKCmByIFB1Yk1lZF8zMDQyNzUzOWAKCmByIGFkZHRoaXNfaW5saW5lXzMwNDI3NTM5YAoKYHIgUE1JRF8zMDQyNzUzOSRhYnN0cmFjdGAKCjwhLS0gYHIgZG9pXzMwNDI3NTM5YCAtLT4KCmByIGRpbWVuc2lvbkJhZGdlXzMwNDI3NTM5YAoKYHIgYWx0bWV0cmljQmFkZ2VfMzA0Mjc1MzlgCgo8L2RldGFpbHM+CgotLS0KCgoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKIyMjIEFtcHVsbGEgb2YgVmF0ZXIKCmBgYHtyIE0gQW1wdWxsYSBvZiBWYXRlciwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgpgYGB7ciAzMDQxNzk1NiwgaW5jbHVkZT1GQUxTRX0KClBNSURfMzA0MTc5NTYgPC0gUmVmTWFuYWdlUjo6UmVhZFB1Yk1lZCgnMzA0MTc5NTYnLCBkYXRhYmFzZSA9ICdQdWJNZWQnKQoKY2l0YXRpb25fMzA0MTc5NTYgPC0gcGFzdGUwKFBNSURfMzA0MTc5NTYkam91cm5hbCwnICcsIFBNSURfMzA0MTc5NTYkeWVhciwgJyAnLCBQTUlEXzMwNDE3OTU2JG1vbnRoLCc7JywgUE1JRF8zMDQxNzk1NiR2b2x1bWUsJygnLCBQTUlEXzMwNDE3OTU2JG51bWJlciwnKTonLCBQTUlEXzMwNDE3OTU2JHBhZ2VzKQoKUHViTWVkXzMwNDE3OTU2IDwtIHBhc3RlMChQdWJNZWRTdHJpbmcsIFBNSURfMzA0MTc5NTYkZXByaW50KQoKZG9pXzMwNDE3OTU2IDwtIHBhc3RlMChkb2lTdHJpbmcsIFBNSURfMzA0MTc5NTYkZG9pKQoKZGltZW5zaW9uQmFkZ2VfMzA0MTc5NTYgPC0gcGFzdGUwKGRpbWVuc2lvblN0cmluZzEsIFBNSURfMzA0MTc5NTYkZG9pLGRpbWVuc2lvblN0cmluZzIpCgphbHRtZXRyaWNCYWRnZV8zMDQxNzk1NiA8LSBwYXN0ZTAoYWx0bWV0cmljU3RyaW5nMSwgUE1JRF8zMDQxNzk1NiRkb2ksIGFsdG1ldHJpY1N0cmluZzIgKQoKYWRkdGhpc19pbmxpbmVfMzA0MTc5NTYgPC0gcGFzdGUwKGFkZHRoaXNfU3RyaW5nMSwgUE1JRF8zMDQxNzk1NiR0aXRsZSAsICIgUE1JRDogMzA0MTc5NTYgIiAsIGFkZHRoaXNfU3RyaW5nMikKCmBgYAoKPGRldGFpbHMgb3Blbj4gPHN1bW1hcnk+Ci0gKipgciBQTUlEXzMwNDE3OTU2JHRpdGxlYCoqCjwvc3VtbWFyeT4gCgoqYHIgY2l0YXRpb25fMzA0MTc5NTZgKgoKYHIgUHViTWVkXzMwNDE3OTU2YAoKYHIgYWRkdGhpc19pbmxpbmVfMzA0MTc5NTZgCgpgciBQTUlEXzMwNDE3OTU2JGFic3RyYWN0YAoKPCEtLSBgciBkb2lfMzA0MTc5NTZgIC0tPgoKYHIgZGltZW5zaW9uQmFkZ2VfMzA0MTc5NTZgCgpgciBhbHRtZXRyaWNCYWRnZV8zMDQxNzk1NmAKCjwvZGV0YWlscz4KCi0tLQoKCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgoKIyMjIE5ldXJvZW5kb2NyaW5lCgoKYGBge3IgTSBOZXVyb2VuZG9jcmluZSwgZXZhbD1GQUxTRSwgaW5jbHVkZT1GQUxTRX0KYGBgCgoKLS0tCgoKLSAqKkdlbmV0aWMgQW5hbHlzaXMgb2YgU21hbGwgV2VsbC1kaWZmZXJlbnRpYXRlZCBQYW5jcmVhdGljIE5ldXJvZW5kb2NyaW5lIFR1bW9ycyBJZGVudGlmaWVzIFN1Ymdyb3VwcyBXaXRoIERpZmZlcmluZyBSaXNrcyBvZiBMaXZlciBNZXRhc3Rhc2VzKioKICAgIApodHRwczovL2pvdXJuYWxzLmx3dy5jb20vYW5uYWxzb2ZzdXJnZXJ5L0Fic3RyYWN0L3B1Ymxpc2hhaGVhZC9HZW5ldGljX0FuYWx5c2lzX29mX1NtYWxsX1dlbGxfZGlmZmVyZW50aWF0ZWQuOTUzNTQuYXNweAoKCgoKLS0tCgotICoqQ2xpbmljYWwgYW5kIGluIHZpdHJvIHN0dWRpZXMgb2YgdGhlIGNvcnJlbGF0aW9uIGJldHdlZW4gTUdNVCBhbmQgdGhlIGVmZmVjdCBvZiBzdHJlcHRvem9jaW4gaW4gcGFuY3JlYXRpYyBORVQqKgogICAgCiAgICAKaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9hcnRpY2xlLzEwLjEwMDcvczAwMjgwLTAxOC0zNzAwLXkKCgotLS0KCmBgYHtyIDMwMDIxODY2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDAyMTg2NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDAyMTg2NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDAyMTg2NiA8LSBwYXN0ZTAoUE1JRF8zMDAyMTg2NiRqb3VybmFsLCcgJywgUE1JRF8zMDAyMTg2NiR5ZWFyLCAnICcsIFBNSURfMzAwMjE4NjYkbW9udGgsJzsnLCBQTUlEXzMwMDIxODY2JHZvbHVtZSwnKCcsIFBNSURfMzAwMjE4NjYkbnVtYmVyLCcpOicsIFBNSURfMzAwMjE4NjYkcGFnZXMpCgpQdWJNZWRfMzAwMjE4NjYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDAyMTg2NiRlcHJpbnQpCgpkb2lfMzAwMjE4NjYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDAyMTg2NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDAyMTg2NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDAyMTg2NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwMDIxODY2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwMDIxODY2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDAyMTg2NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwMDIxODY2JHRpdGxlICwgIiBQTUlEOiAzMDAyMTg2NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzAwMjE4NjYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDAyMTg2NmAqCgpgciBQdWJNZWRfMzAwMjE4NjZgCgpgciBhZGR0aGlzX2lubGluZV8zMDAyMTg2NmAKCmByIFBNSURfMzAwMjE4NjYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDAyMTg2NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDAyMTg2NmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwMDIxODY2YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqTmV1cm9lbmRvY3JpbmUgbmVvcGxhc2lhIGdvZXMgbW9sZWN1bGFyIOKAlCB0aW1lIGZvciBhIGNoYW5nZSoqCgpodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL3M0MTU3MS0wMTgtMDExOC04CgoKLS0tCgotICoqQmxvb2QgbVJOQSBNZWFzdXJlbWVudCAoTkVUZXN0KSBmb3IgTmV1cm9lbmRvY3JpbmUgVHVtb3JzIGRpYWdub3NpcyBvZiBJbWFnZS1uZWdhdGl2ZSBsaXZlciBtZXRhc3RhdGljIGRpc2Vhc2UqKgoKaHR0cHM6Ly9hY2FkZW1pYy5vdXAuY29tL2pjZW0vYWR2YW5jZS1hcnRpY2xlLWFic3RyYWN0L2RvaS8xMC4xMjEwL2pjLjIwMTgtMDE4MDQvNTE0MzIyMj9yZWRpcmVjdGVkRnJvbT1mdWxsdGV4dAoKCgotLS0KCmBgYHtyIDMwNDIwMDQ2LCBpbmNsdWRlPUZBTFNFfQoKUE1JRF8zMDQyMDA0NiA8LSBSZWZNYW5hZ2VSOjpSZWFkUHViTWVkKCczMDQyMDA0NicsIGRhdGFiYXNlID0gJ1B1Yk1lZCcpCgpjaXRhdGlvbl8zMDQyMDA0NiA8LSBwYXN0ZTAoUE1JRF8zMDQyMDA0NiRqb3VybmFsLCcgJywgUE1JRF8zMDQyMDA0NiR5ZWFyLCAnICcsIFBNSURfMzA0MjAwNDYkbW9udGgsJzsnLCBQTUlEXzMwNDIwMDQ2JHZvbHVtZSwnKCcsIFBNSURfMzA0MjAwNDYkbnVtYmVyLCcpOicsIFBNSURfMzA0MjAwNDYkcGFnZXMpCgpQdWJNZWRfMzA0MjAwNDYgPC0gcGFzdGUwKFB1Yk1lZFN0cmluZywgUE1JRF8zMDQyMDA0NiRlcHJpbnQpCgpkb2lfMzA0MjAwNDYgPC0gcGFzdGUwKGRvaVN0cmluZywgUE1JRF8zMDQyMDA0NiRkb2kpCgpkaW1lbnNpb25CYWRnZV8zMDQyMDA0NiA8LSBwYXN0ZTAoZGltZW5zaW9uU3RyaW5nMSwgUE1JRF8zMDQyMDA0NiRkb2ksZGltZW5zaW9uU3RyaW5nMikKCmFsdG1ldHJpY0JhZGdlXzMwNDIwMDQ2IDwtIHBhc3RlMChhbHRtZXRyaWNTdHJpbmcxLCBQTUlEXzMwNDIwMDQ2JGRvaSwgYWx0bWV0cmljU3RyaW5nMiApCgphZGR0aGlzX2lubGluZV8zMDQyMDA0NiA8LSBwYXN0ZTAoYWRkdGhpc19TdHJpbmcxLCBQTUlEXzMwNDIwMDQ2JHRpdGxlICwgIiBQTUlEOiAzMDQyMDA0NiAiICwgYWRkdGhpc19TdHJpbmcyKQoKYGBgCgo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4KLSAqKmByIFBNSURfMzA0MjAwNDYkdGl0bGVgKioKPC9zdW1tYXJ5PiAKCipgciBjaXRhdGlvbl8zMDQyMDA0NmAqCgpgciBQdWJNZWRfMzA0MjAwNDZgCgpgciBhZGR0aGlzX2lubGluZV8zMDQyMDA0NmAKCmByIFBNSURfMzA0MjAwNDYkYWJzdHJhY3RgCgo8IS0tIGByIGRvaV8zMDQyMDA0NmAgLS0+CgpgciBkaW1lbnNpb25CYWRnZV8zMDQyMDA0NmAKCmByIGFsdG1ldHJpY0JhZGdlXzMwNDIwMDQ2YAoKPC9kZXRhaWxzPgoKLS0tCgotICoqQ2VsbC1GcmVlIEROQSBGcm9tIE1ldGFzdGF0aWMgUGFuY3JlYXRpYyBOZXVyb2VuZG9jcmluZSBUdW1vciBQYXRpZW50cyBDb250YWlucyBUdW1vci1TcGVjaWZpYyBNdXRhdGlvbnMgYW5kIENvcHkgTnVtYmVyIFZhcmlhdGlvbnMqKgoKCmh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcG1jL2FydGljbGVzL1BNQzYyMjE5MzgvCgoKCi0tLQoKPGEgaHJlZj0iI3RvcCIgdGFyZ2V0PSJfc2VsZiI+QmFjayB0byB0b3A8L2E+CgotLS0KClxwYWdlYnJlYWsKCgojIyBKb3VybmFscyBSZXZpZXdlZAoKLS0tCgpBZHZhbmNlcyBpbiBBbmF0b21pYyBQYXRob2xvZ3kgIApBbWVyaWNhbiBKb3VybmFsIG9mIENsaW5pY2FsIFBhdGhvbG9neSAgClRoZSBBbWVyaWNhbiBKb3VybmFsIG9mIEdhc3Ryb2VudGVyb2xvZ3kgIApUaGUgQW1lcmljYW4gSm91cm5hbCBvZiBQYXRob2xvZ3kgIApBbWVyaWNhbiBKb3VybmFsIG9mIFN1cmdpY2FsIFBhdGhvbG9neSAgCkFubmFscyBvZiBEaWFnbm9zdGljIFBhdGhvbG9neSAgCkFubmFscyBvZiBTdXJnZXJ5ICAKQW5uYWxzIG9mIFN1cmdpY2FsIE9uY29sb2d5ICAKQW5udWFsIFJldmlldyBvZiBQYXRob2xvZ3ktTWVjaGFuaXNtcyBvZiBEaXNlYXNlICAKQVBNSVMgIApBcHBsaWVkIEltbXVub2hpc3RvY2hlbWlzdHJ5ICYgTW9sZWN1bGFyIE1vcnBob2xvZ3kgIApBcmNoaXZlcyBvZiBQYXRob2xvZ3kgJiBMYWJvcmF0b3J5IE1lZGljaW5lICAKQ2FuY2VyICAKQ2FuY2VyIENlbGwgIApDYW5jZXIgQ3l0b3BhdGhvbG9neSAgCkNlbGwgIApDZWxsdWxhciBPbmNvbG9neSAgCkNsaW5pY2FsIENhbmNlciBSZXNlYXJjaCAgCkNvY2hyYW5lIERhdGFiYXNlIFN5c3RlbWF0aWMgUmV2aWV3cyAgCkN5dG9qb3VybmFsICAKQ3l0b3BhdGhvbG9neSAgCkRpYWdub3N0aWMgQ3l0b3BhdGhvbG9neSAgCkRpYWdub3N0aWMgUGF0aG9sb2d5ICAKRW5kb2NyaW5lIFBhdGhvbG9neSAgCkV4cGVyaW1lbnRhbCBhbmQgTW9sZWN1bGFyIFBhdGhvbG9neSAgCkV4cGVydCBSZXZpZXcgb2YgTW9sZWN1bGFyIERpYWdub3N0aWNzICAKR2FzdHJvZW50ZXJvbG9neSAgCkd1dCAgCkhpc3RvbG9neSBhbmQgSGlzdG9wYXRob2xvZ3kgIApIaXN0b3BhdGhvbG9neSAgCkh1bWFuIFBhdGhvbG9neSAgCkludGVybmF0aW9uYWwgSm91cm5hbCBvZiBTdXJnaWNhbCBQYXRob2xvZ3kgIApJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgQ2xpbmljYWwgYW5kIEV4cGVyaW1lbnRhbCBQYXRob2xvZ3kgIApKb3VybmFsIG9mIENsaW5pY2FsIFBhdGhvbG9neSAgCkpvdXJuYWwgb2YgTW9sZWN1bGFyIERpYWdub3N0aWNzICAKSm91cm5hbCBvZiBQYXRob2xvZ3kgIApMYWJvcmF0b3J5IGludmVzdGlnYXRpb24gIApMYW5jZXQgIApNZWRpY2FsIE1vbGVjdWxhciBNb3JwaG9sb2d5ICAKTW9kZXJuIFBhdGhvbG9neSAgCk5hdHVyZSAgCk5hdHVyZSBSZXZpZXdzIEdhc3Ryb2VudGVyb2xvZ3kgJiBIZXBhdG9sb2d5ICAKTkVKTSAgClBhbmNyZWFzICAKUGFuY3JlYXRvbG9neSAgClBhdGhvYmlvbG9neSAgClBhdGhvbG9naWUgQmlvbG9naWUgIApQYXRob2xvZ3kgIApQYXRob2xvZ3kgJiBPbmNvbG9neSBSZXNlYXJjaCAgClBhdGhvbG9neSBJbnRlcm5hdGlvbmFsICAKUGF0aG9sb2d5IFJlc2VhcmNoIGFuZCBQcmFjdGljZSAgClBOQVMgIApTY2llbmNlICAKU2VtaW5hcnMgaW4gRGlhZ25vc3RpYyBQYXRob2xvZ3kgIApTZW1pbmFycyBpbiBJbW11bm9wYXRob2xvZ3kgIApTdXJnaWNhbCBwYXRob2xvZ3kgY2xpbmljcyAgClRpc3N1ZSBBbnRpZ2VucyAgClRyZW5kcyBpbiBDYW5jZXIgIApWaXJjaG93cyBBcmNoaXYgIAoKLS0tCgo8YSBocmVmPSIjdG9wIiB0YXJnZXQ9Il9zZWxmIj5CYWNrIHRvIHRvcDwvYT4KCi0tLQoKXHBhZ2VicmVhawoKCiMjIEZlZWRiYWNrCgotLS0KClBsZWFzZSBzZW5kIHlvdXIgZmVlZGJhY2tzIHVzaW5nIHRoZSBmb3JtIGJlbG93OgoKW0NsaWNrIGhlcmUgZm9yIHRoZSBGZWVkYmFjayBGb3JtXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9mb3Jtcy9kL2UvMUZBSXBRTFNlRDNaOUo2WTdlTW1peU0xMmZfU2ZBbUhVbHlrYjF6eFpjd082bGc3Y2ViR1lRSVEvdmlld2Zvcm0pCgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFrCgojIyBBcmNoaXZlCgotLS0KCioqVGhlIFBCUGF0aCBKb3VybmFsIEFyY2hpdmUqKgoKLSBbQ3VycmVudCBJc3N1ZV0oaHR0cDovL3BicGF0aC5vcmcvam91cm5hbC13YXRjaC8pCgotIFtPbGRlciBJc3N1ZXNdKGh0dHA6Ly9wYnBhdGgub3JnL2pvdXJuYWwtd2F0Y2gtYXJjaGl2ZS8pCgogICAtIFtKdW5lLUp1bHktMjAxOF0oaHR0cDovL3BicGF0aC5vcmcvcGJwYXRoLWpvdXJuYWwtd2F0Y2gtanVuZS1qdWx5LTIwMTgvKQogICAKICAgLSBbQXVndXN0LVNlcHRlbWJlci0yMDE4XShodHRwOi8vcGJwYXRoLm9yZy9wYnBhdGgtam91cm5hbC13YXRjaC1hdWd1c3Qtc2VwdGVtYmVyLTIwMTgvKQoKICAgPCEtLSAtIERlY2VtYmVyIGlzc3VlIGlzIGJlaW5nIHByZXBhcmVkLiBVbm9mZmljaWFsIHZlcnNpb24gaXMgW2hlcmVdKGh0dHA6Ly9wYnBhdGgub3JnL2pvdXJuYWwtd2F0Y2gtdXBjb21pbmctaXNzdWUvKS4gLS0+CgotLS0KCjxhIGhyZWY9IiN0b3AiIHRhcmdldD0iX3NlbGYiPkJhY2sgdG8gdG9wPC9hPgoKLS0tCgpccGFnZWJyZWFr